繁体   English   中英

java.util.Properties 编码

[英]java.util.Properties encoding

我在两个不同的系统上得到不同的结果,不知道为什么。

Properties prop = new Properties();
prop.load(new ByteArrayInputStream(input)); //input is byte[]

在两个系统上,输入都包含"var=\\\Ä\\\Ü\\\Ö\\\ä\\\ü\\\ö"

在我的测试系统道具中包含"var=ÄÜÖäüö" (这就是我要的)

在另一个系统道具上包含"var=\\xC4\\xDC\\xD6\\xE4\\xFC\\xF6" 这是十六进制input ,但为什么Properties会这样做? 不幸的是,我对其他系统配置一无所知。

有人知道原因吗?

Java .properties文件使用ISO-8859-1 ( Latin-1 ) UTF-8 ,而不是UTF-8 所有非拉丁 1 字符必须使用 Unicode 转义字符输入,例如\\uHHHH

另一种方法是使用XML格式的属性,即UTF-8

来源:Javadoc

另请参阅此问题

还有这个

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM