我读过这篇文章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/