java - 表单上的错误编码到 Spring MVC

标签 java spring spring-mvc utf-8 character-encoding

我在我的 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/

相关文章:

java - Spring 4 validator NoClassDefFoundError

java - Spring mvc 映射 json 到 pojo 属性为空

java - 无法将缓存的 json 数据反序列化为 AsyncResult

java - leetcode 生成括号算法

java - 重新打开应用程序时获取 AsyncTask 状态

java - 使用 Spring JPA 的多数据源

java - 无法解析导入 javax.servlet.ServletRegistration

java - 在 SpringMVC 中,我在 Centos 7 STS 中部署和运行另一个系统的项目,它给出了错误

java - SableCC 语法文件的问题

java - Rcaller 2.0 生成的图是渲染和空输出,生成的文件 (png) 也是空的?