Tomcat 8的编码错误

时间:2016-08-23 08:09:53

标签: java mysql encoding utf-8 tomcat8

我有一个从MySQL获取数据的Tomcat 8。 MySQL中的行编码良好(如俄语文本)。如果我调试服务器,所选行的编码良好。但是,返回的JSON具有错误的字符。 我检查了我的server.xml,我有:

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" />

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

我还能做什么?

1 个答案:

答案 0 :(得分:0)

据我所知,URI编码仅适用于URI;它不会影响您发回的任何内容的编码。您应该设置正确的响应标头,例如&#34; Content-type:application / json;字符集= UTF-8&#34;

这是我正在处理的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); }};

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