我在我的 Spring MVC Controller 中接收表单数据,但是当我尝试输入非 ASCII 字符时,我收到垃圾信息,áéíóú
转换为 áéÃóú
.
我正在使用 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
在 jsp 页面中,Tomcat 配置为接受 UTF-8
在 URI/Connection 部分和 form
设置为 acceptCharset="UTF-8"
.不知道下一步该去哪里。
我正在 Ubuntu 14.04 中的 Firefox 38.0 上进行测试。服务器也在 Ubuntu 14.04 中。
最佳答案
您需要向 web.xml 添加一个编码过滤器,以使其正确编码字符:
<filter>
<filter-name>encoding-filter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
关于java - 表单上的错误编码到 Spring MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30372420/