注: 本文系转载, 来自:http://bill-end.iteye.com/blog/441369
java.util.Properties.load()方法时对双字节的编码都会乱码(日文乱码,中文乱码),又不想使用ative2ascii这种方式,因为properties文件是用户可修改的。
apache的commons-configuration.jar提供了一个比Properties更dai ren qin的工具类PropertiesConfiguration,可以指定文件的编码。
e.g.
- cn=中国
- PropertiesConfiguration pc = new PropertiesConfiguration();
- pc.setEncoding("utf8");
- pc.load("XXX.properties");
- System.out.println(pc.getString("cn"));
- 中国
ps.
java.util.Properties.load()方法也可以实现,不过麻烦点,它在加载时使用的是ISO-8859-1,所以在得到value后需要将其转成相应的字符集。
String value =new String (properties.getProperty("zn").getBytes("ISO-8859-1"),"utf8");