我的Web应用程序(Java/Tomcat/Spring/Maven)在处理特殊字符(如’
(十六进制92,十进制146))时遇到问题。这是作为另一个奇怪的角色进入我的应用程序。Spring/Tomcat不遵守UTF-8编码?
我已经看过this question和核实II在我所有的JSP文件,下面一行:
<%@ page contentType="text/html; charset=UTF-8" %>
我也看了this question和验证,我有以下行我的Maven的pom.xml:
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
因此,据我所知,一切都应该以UTF-8编译和处理。但是,当我提交字符串Martin’s Auto Repair
在弹簧绑定过程中显示在服务器上的是Martinâ\u0080\u0099s Auto Repair
。这是由Tomcat交给我的应用程序的字符串。
更糟糕的是,这会回传给浏览器,因此再次提交已更改的字符串会一次又一次地展开奇怪的字符。
有什么建议吗?在这一点上,我不确定这是浏览器问题还是服务器问题。
您是否也将_requests_作为UTF-8处理?你叫什么来提交?作为查询参数? – fge