Java 属性文件乱码问题
属性文件乱码通常是中文乱码,在英文下通常没有这个问题。
如上图显示的,中文字符在属性文件中读取后会显示为乱码.
问题和解决
导致这个问题的主要原因是属性文件如果你不进行设置,那么将会默认使用 ISO-8859-1 字符集来存储的。
通常我们也不建议在属性文件中过多使用中文,一般来说属性文件都是一些配置,如果需要中文的配置可以存储在其他的文件中。
如果非要使用,也是可以的。
不修改字符集
在不修改字符集的情况,将中文字符使用 Unicode 来表示就可以了。
如上面的例子,使用下面的字符。
name = \u5C5E\u6027\u6587\u4EF6 Inject a value to a static field
在程序输出的时候就可以显示成中文了。
转换成 UTF-8 编码
可以把属性文件转换成 UTF-8 编码。
这个 IDEA 能够很好的帮我们进行转换。
选择文件编码,然后选择 UTF-8,然后选择后面的选项。
然后在更新过代码的属性文件中输中文。
再次运行后,我们就可以看到能够正常显示中文了。
如上图完成修改后,就可以显示中文了。