我在 Java 中遇到文字字符串的字符集问题。
如下图所示,我有一个名为 TITULO 的静态对象,带有文字字符串常量参数“Título”。当我运行程序时,这个字符串被读作“TÃ-tulo”。我不知道为什么。
我在 Eclipse 项目属性窗口和 Tomcat 设置中探索了字符集设置,但它们都使用 UTF-8 作为选项。
我正在运行 Tomcat 7、Eclipse Helios 和 Windows SO。
谁能帮我解决这个问题?
我在 Java 中遇到文字字符串的字符集问题。
如下图所示,我有一个名为 TITULO 的静态对象,带有文字字符串常量参数“Título”。当我运行程序时,这个字符串被读作“TÃ-tulo”。我不知道为什么。
我在 Eclipse 项目属性窗口和 Tomcat 设置中探索了字符集设置,但它们都使用 UTF-8 作为选项。
我正在运行 Tomcat 7、Eclipse Helios 和 Windows SO。
谁能帮我解决这个问题?
您可以尝试在 server.xml 中将 Tomcat URIEncoding 设置为 UTF-8
<Connector port="8090" URIEncoding="UTF-8"/>
Eclipse 编辑器中的代码与 tomcat 正在执行的代码不同。
我在 /target 文件夹中找到了一个 .war 文件。我删除了这个战争文件并且有效!tomcat 正在运行这个旧战争文件中的类。
我最近将这个正在运行的 Eclipse 项目转换为一个 Maven 项目。我可能在创建这个war文件的这个过程中执行了'mvn package'。
感谢大家帮助我找到了这个解决方案。
我相信您正在查看的字符串 (this.id) 实际上不是静态常量字符串 Titulo。
在代码中的某处,您正在读取正确的 unicode String Titulo,将其转换为字节数组,然后将其转换回 String 并将其传递给 Style 的构造函数。字符串在转换过程中被损坏。除非您显示调用 Style 的构造函数的代码的堆栈跟踪,否则不能多说。