作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我处理包含西类牙字符 ó
和 é
的属性文件时,字符显示为 ?
。我尝试了不同的方法来解决这个问题,但仍然失败:
\uxxxx
InputStreamReader
与 UTF-8
编码一起使用我尝试将字符串转换为字节,然后从这些字节创建一个新的字符串:
new String( val.getBytes("UTF-8"), "UTF-8")
没有任何效果。接下来我该怎么做才能解决这个问题?日语和俄语还可以。
最佳答案
属性文件需要采用正确的编码。默认情况下,某些 IDE(如 eclipse)使用 CP1252 保存内容,但您需要将文件保存为 UTF-8。这也是您的 Java 代码所必需的。
如果您尝试使用\uxxxx 字符,但默认情况下您的应用程序正在使用 CP1252,则转义码的转换会导致错误字符。
如果您使用 InputStreamReader 强制读取为 UTF-8,但您的代码和/或您的文件不使用 UTF-8 支持会导致字符错误。
如果您使用字符串的 UTF-8 转换,但您的源代码是 CP1252,您应该会遇到同样的问题。
有关源代码的相关先前答案:Should source code be saved in UTF-8 format
关于java - 西类牙语字符 óé 在 Java 属性中显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8245406/
我是一名优秀的程序员,十分优秀!