java - Spring/Tomcat 不支持 UTF-8 编码?

标签 java spring maven tomcat

我的 Web 应用程序 (Java/Tomcat/Spring/Maven) 在处理特殊字符时遇到问题,例如 (十六进制 92,十进制 146)。这作为另一个奇怪的角色进入我的应用程序。

我看过this question并确认我的所有 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 时,在 Spring 绑定(bind)过程中服务器上显示的是 Martinâ\u0080\u0099s Auto Repair。这是 Tomcat 返回给我的应用程序的字符串。

更糟糕的是,这会回显给浏览器,因此再次提交更改后的字符串会一遍又一遍地扩展奇怪的字符。

有什么建议吗?此时我不确定这是浏览器问题还是服务器问题。

最佳答案

十六进制 92 不是 Unicode 中的字符 ( http://en.wikibooks.org/wiki/Unicode/Character_reference/0000-0FFF )

Windows 代码页 1252 与 Unicode 并非 100% 相同。

关于java - Spring/Tomcat 不支持 UTF-8 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22049848/

相关文章:

java - 2 个集合中的一个对象(引用)

java - 如何将字符串中单词的每个首字母大写?

java - JPA 与 Google Cloud SQL "NoClassDefFoundError: java.util.prefs.Preferences is a restricted class"

java - SpringJUnit4ClassRunner 带有声明性和带注释的 bean

Spring data jpa存储库内存中测试用例

java - 如何在Java中使用Dropwizard获取swagger.json

spring - 如何在我的 Maven 项目中包含 javax.servlet servlet-api 3.0.1?

java - “FragmentStatePagerAdapter(androidx.fragment.app.FragmentManager)”已弃用

java - Spring boot 从附加位置文件覆盖 prod 属性

maven-2 - 无效的jar文件实际上是html的Maven问题