在Tomcat 8中出现了编码问题。

24 浏览
0 Comments

在Tomcat 8中出现了编码问题。

我有一个Tomcat 8,它从MySQL中获取数据。MySQL中的行编码良好(如俄语文本)。如果我调试服务器,选择的行编码正确。然而,返回的JSON有错误字符。

我检查了我的server.xml,我有:


请注意,我在这里有URIEncoding="UTF-8"

我还能做些什么?

0
0 Comments

在Tomcat 8中出现编码错误的原因可能是由于未正确设置响应头的编码导致的。解决方法是通过设置正确的响应头来解决编码问题。下面是一个我正在开发的Spring Boot应用程序的代码片段,它用于请求,但可能能给你一个思路:

private RestTemplate rest = new TestRestTemplate() {{ getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8"))); }};
private HttpHeaders requestHeaders = new HttpHeaders() {{ setContentType(MediaType.APPLICATION_JSON); }};

如果你能展示你的代码,也许我们可以更好地帮助你。

我不明白,如何使用getMessageConverters?只使用requestHeaders是没有帮助的。如何设置正确的响应头?而且我的代码非常简单。在return语句之前一切都很好。

0