我已实施春季休息服务。它按预期正常工作,但问题是有时请求body json数据有多种语言,如中文,法语,日语。
请求正文
{
"firstName": "demo",
"lastName": "françois1",
"email": "你好"
}
在Controller方法中,我以下面的格式获取json数据
{
"firstName": "demo",
"lastName": "ad�la�de",
"email": "??"
}
用户给予休息服务和春季控制器方法返回给我的方式有很多不同。任何人都可以帮我解决问题吗?
答案 0 :(得分:2)
在web.xml
中,尝试添加过滤器
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/springmvc_path/*</url-pattern>
</filter-mapping>
将/springmvc_path/*
部分替换为您的springMVC servlet&#39; s <url-pattern>
然后重新启动Web服务器。
答案 1 :(得分:0)
确保您的字符编码设置为utf-8。
如果在server.xml中使用类似下面的tomcat,将确保使用utf-8字符正确编码实际的uri:
max
和web xml
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
compression="on"
compressionMinSize="128"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/ javascript,application/x-javascript,application/javascript"
URIEncoding="UTF-8"
/>