我真的被Eclipselink MOXy 2.5.1卡住了,没有给我提供正确编码的亚洲字符(或其他字符,例如:德语umLautsäöü)。
我的代码:
@GET
@Produces({MediaType.APPLICATION_JSON + ";charset=UTF-8"})
@Path("/test")
public Response getJson() throws IOException{
return Response.ok(new Test()).build();
}
@GET
@Produces({MediaType.APPLICATION_JSON + ";charset=UTF-8"})
@Path("/test2")
public Response getKey() throws IOException{
return Response.ok(new Test().toString()).build();
}
测试类如下所示:
@XmlRootElement
class Test{
public String key;
public Test() throws IOException {
key = FileUtils.readFileToString(new File("e:\\utf8.txt"), "UTF-8");
}
public String toString() {
return key;
}
}
属性"key"仅为测试目的初始化一个字符串,我从一个UTF-8编码的文件中读取,该文件没有包含BOM
アナログカメラは
当我通过客户端调用这两种资源时:
Client client = ClientBuilder.newClient();
WebTarget webTarget = client.target("http://127.0.0.1/rest").path("/test");
WebTarget webTarget2 = client.target("http://127.0.0.1/rest").path("/test2");
Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_JSON_TYPE);
invocationBuilder.header(HttpHeaders.CONTENT_TYPE, "application/json; charset=UTF-8");
Response response = invocationBuilder.get();
System.out.println("Result /test: " + response.readEntity(String.class));
invocationBuilder = webTarget2.request(MediaType.APPLICATION_JSON_TYPE);
invocationBuilder.header(HttpHeaders.CONTENT_TYPE, "application/json; charset=UTF-8");
response = invocationBuilder.get();
System.out.println("Result /test2: " + response.readEntity(String.class));
我得到以下结果:
Result /test: {"key":"��?��o"}
Result /test2: アナログカメラは
奇怪的是,当我在/test2中编组测试对象的toString()方法时,它将返回正确编码的字符,而使用/test编组测试对象则不会。
任何想法?我有点迷路了。
很抱歉,但我必须解决这个问题。解决方案是使用最新的稳定MOXy库2.5.2。这像魅力一样解决了我的问题(幸运的我)。好吧,就在几分钟前,我问了这个问题,但要确保我在Desparatley寻找解决方案后发布了它,因为过去几天。我得到的唯一暗示是https://bugs.eclipse.org/bugs/show_bug.cgi?id=419072#attach_236300但这只是提到了控制角色的奇怪行为。
希望这能帮助有同样问题的人。
我正在处理一个位置数据集,其中一些位置名称使用本地字符。大多数字符都被正确地看到,但我对一些罗马尼亚字符有意见,比如“ș”。 我尝试改变我的Windows 10 64位系统区域设置使用UTF-8编码,但这并没有解决问题。 可以在此处找到用于测试的示例文件:https://drive.google.com/file/d/1T7QQQ7G_dA_rXD9Ewf51uuQ6CUkscjP_/view?u
问题内容: 我正在尝试使用DOMDocument解析一些HTML,但是当我这样做时,我突然失去了编码(至少这对我来说是这样)。 这段代码的结果是我得到了一堆不是日语的字符。但是,如果我这样做: 正确显示。我尝试过saveHTML和saveXML,但都无法正确显示。我正在使用PHP 5.3。 我所看到的: 应该显示什么: 编辑:我已经将代码简化为五行,因此您可以自己对其进行测试。 这是返回的html
我正在评估与thymeleaf模板引擎的Spring启动。我正面临UTF8字符表单张贴问题。 对于最简单的post示例: 在控制器中: 在本例中,Spring MVC(或thymeleaf)无法正确编码具有UTF-8字符的表单。 如果我输入,我将看到以下日志: 应编码为。正文应该是,但我不知道为什么它会变成,并被解码成错误的字符。 我在谷歌上搜索并找到了一些解决方案,比如添加一个编码过滤器: 但不
问题内容: 似乎JSON默认编码为UTF-8,Spring MVC 默认返回 ,很难更改。 问题答案: 根据RFC 4627 JSON文本应以Unicode编码。默认编码为UTF-8。 它继续描述了如何检测不同的UTF- *编码,这表明不支持其他编码。 “ SHALL”表示此处的绝对要求(请参阅RFC 2119)。 而且真的是没有理由使用与JSON非UTF编码(如任何可以处理JSON可以 肯定 处
问题内容: 我使用MySQL 5.1,并从一个270万行的UTF-8解码txt文件加载到一个表中,该表本身声明为,并且所有char字段都声明为,使用… 在数据库本身中,所有字符似乎都是正确的,一切看起来都不错。但是,当我使用php打印它们时,字符显示为???,尽管我在HTML头中使用utf-8声明: 在另一个表(使用utf-8)中,我从提交的表单中插入了文本,这些字符在数据库中奇怪地显示,但是当我
嗨,有人能帮我处理这个错误吗?当我使用邮递员发送邮件请求时,这里是我的控制器 这就是我使用postman发送json的方式 我正在尝试搜索如何修复它,但错误仍然存在 编辑:这是邮递员的标题 提前致谢