![](/img/trans.png)
[英]Spanish language encoding issue with Java Properties class load method
[英]Java Spanish Encoding in Properties File
因此,我正在研究一个本地化示例以及使用ResourceBundle
进行操作的常规方法,并且似乎所有内容都不支持UTF-8,因此我将继续研究Properties
。
我知道它的实际属性很好,但是在西班牙文文件中,它不喜欢重音符号。 我用UTF-8阅读,但不在乎,只是显示与以前不同的符号。
输出:
íHola!
┐C¾mo estßs?
íAdi¾s!
预期产量:
¡Hola!
¿Cómo estás?
¡Adios!
属性文件:
greetings = ¡Hola!
farewell = ¡Adiós!
inquiry = ¿Cómo estás?
码:
import java.util.*;
import java.io.*;
public class Test{
public static void main(String[] args) throws IOException {
String language;
String country;
if (args.length != 2) {
language = new String("en");
country = new String("GB");
} else {
language = new String(args[0]);
country = new String(args[1]);
}
String file = String.format("lang_%s_%s.properties",language,country);
InputStream utf8in = Test.class.getClassLoader().getResourceAsStream(file);
Reader reader = new InputStreamReader(utf8in, "UTF-8");
Properties props = new Properties();
props.load(reader);
System.out.println(props.getProperty("greetings"));
System.out.println(props.getProperty("inquiry"));
System.out.println(props.getProperty("farewell"));
}
}
我只花了大约40分钟的时间阅读我能找到的所有内容,它们要么与我现在所获得的完全相同,要么略有不同,并且在尝试时产生了相同的结果。
有人可以告诉我如何获得期望的输出吗?
在Eclipse中,我可以重现该问题。 步骤如下:
CP850
。 -Dfile.encoding=ISO8859-1
。 确认“公共”选项卡中的“ 编码”设置为CP850
; 当java程序打印到标准输出时,这些字符变为ISO8859-1
字节。 这些字节使用CP850
重新编码并显示在控制台视图中。
这是一个配置问题。 确保编码与正在运行的程序的file.encoding
相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.