2

当我处理带有西班牙语字符的属性文件时óé字符显示为?. 我尝试了不同的方法来解决这个问题,但仍然失败:

  • 我试着用\uxxxx
  • 我尝试使用InputStreamReader编码UTF-8
  • 我试图将字符串转换为字节,然后从这些字节创建一个新的字符串:

    new String( val.getBytes("UTF-8"), "UTF-8")
    

没有任何效果。我接下来应该怎么做才能解决这个问题?日语和俄语还是可以的。

4

1 回答 1

4

属性文件需要采用正确的编码。默认情况下,某些 IDE(例如 eclipse)使用 CP1252 保存内容,但您需要将文件设为 UTF-8。这也是您的 java 代码所必需的。

如果您尝试使用 \uxxxx 字符,但您的应用程序默认使用 CP1252,则转义码的转换会导致字符错误。

如果您使用 InputStreamReader 强制读取为 UTF-8,但您的代码和/或文件未使用 UTF-8 支持,则会导致字符错误。

如果您使用字符串的 UTF-8 转换,但您的源代码是 CP1252,您应该会遇到同样的问题。

有关源代码的相关先前答案:源代码是否应保存为 UTF-8 格式

  • Notepad ++有一个菜单来查看文件的格式并在“格式”菜单中更改它,您应该查看文件,就好像它应该被其他格式打开一样,或者您应该将文件转换为其他文件格式,如“UTF-8 "
于 2011-11-23T16:30:51.610 回答