0

我有一个属性文件,其中包含葡萄牙语的一些属性,使用一些重音字符。这些属性是从第 3 方库(Controls FX Dialogs)中读取的。但不知何故,重音字符以错误的编码被读取(仅在 MS Windows 上测试)。

这是我的属性文件中的内容:

dlg.yes.button = Sim
dlg.no.button = Não

这是它在正在运行的应用程序上的外观: 在此处输入图像描述

我所有的项目文件(包括 java 源文件和属性文件)都以 UTF-8 编码。我只能在 Windows 上测试它,所以我认为它与 Windows 默认编码(Cp1252)有关。我还尝试使用带有选项 -Dfile.encoding=UTF8 的 UTF8 编码运行应用程序,但问题仍然存在

知道为什么会这样吗?

4

1 回答 1

1

属性文件始终被视为 ISO-8859-1 文件。从文档中:

输入流采用load(Reader)中指定的简单的面向行的格式,并假定使用 ISO 8859-1 字符编码;也就是说,每个字节都是一个 Latin1 字符。

\u您需要将文件另存为 ISO Latin-1,或使用转义符写入所有非 ASCII 字符。

于 2015-07-01T20:24:59.007 回答