50,527
社区成员
发帖
与我相关
我的任务
分享
就是将请求(request)时(无论是get还是post)过来的数据都用UTF-8编码,将响应(response)时返回的数据(包括json,普通String等)也用UTF-8编码。网上搜到一段代码,响应没起到作用:
<filter>
<description>字符集过滤器</description>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<description>字符集编码</description>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
上面那种方式请求时确实用UTF-8编码了(请求时不乱码了),但是响应时中文还是乱码(猜测响应时没用UTF-8编码),必须要加@RequestMappin(produces = {"text/html;charset=UTF-8"})才不会乱码,已确认要返回的字符串(String)后台打印不会乱码。。。