java - spring-mvc无法解码中文字符

标签 java servlets spring-mvc character-encoding

我读过这篇文章jsp page encoding problem还有这个Save Chinese characters with Spring-MVC / Java

自从我的项目开始以来,我在 web.xml 中有以下代码片段,并且它似乎注入(inject)正确:

<!-- Reads request input using UTF-8 encoding -->
    <filter>
        <filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

HTTP 请求设置了此 header “content-type:application/x-www-form-urlencoded; charset=UTF-8” 但日志行显示了这一点: 请求主体 Bean:[UserBean@4a8da092 fristname = '??',lastname = '??']

还有一点是,我使用 NetBeans,如果我将鼠标悬停在变量名字和姓氏上,它们就会正确显示。 不知道我还需要什么才能让它工作。任何帮助,将不胜感激。

最佳答案

听起来一切都很好,但您的记录器无法显示这些字符,或者您用来查看这些日志的文本查看器可能无法解码这些字符。

您可以通过在十六进制编辑器中打开日志文件并查找与您的输入匹配的 UTF-8 值(以 1 开头或显示为负值的字节)来排除文本查看器

关于java - spring-mvc无法解码中文字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5408340/

相关文章:

java - 用于桌面应用程序的 JTree

java - Java中多个MVC Controller 共享的单例资源

java - 在遗留 Java webapp 中的 web.xml 文件之间切换

Spring 3 MVC 和 Apache Tiles 2 集成错误

java - Spring MVC 什么时候不需要 @RequestParam 注解?

java - Spring/MVC webapp 中 Controller 和 Model Java 类的命名约定?

java - 使用 JPA Criteria API 进行分页的总行数

java - 文件读取问题

java - Iterable 上的短路逻辑运算符

javascript - 处理验证邮件