我正在通过制作一个使用属性文件 + ResourceBundle 来获取不同字符串的 Hello World 程序来试验国际化。
具体来说,我有一个存储“hello.world=Hello World!”的文件“messages_en_US.properties”,当然可以正常工作。
然后我有一个文件“messages_ja_JP.properties”,我已经尝试了各种方法,但是当打印到控制台或 Swing 中时,它总是显示为某种类型的乱码。问题显然在于将内容读入 Java 字符串,因为直接输入源代码的日文 Java 字符串可以正常打印。
我尝试过的事情:
- 采用 UTF-8 编码的 .properties 文件,其值按原样使用日语字符串。我读到的东西表明Java希望属性文件处于系统的本机编码中......?无论如何,它都不起作用。
- 默认编码 (ISO-8859-1) 中的文件和存储为转义 Unicode 的值,由 Java 中包含的 native2ascii 程序创建。尝试使用各种日语编码的源文件... SHIFT-JIS、EUC-JP、ISO-2022-JP。
编辑:
实际上,我在键入此内容时就想到了这一点,但我想无论如何我都会将其发布并回答以防万一。