java程序读取properties配置文件中文乱码

java 读取properties文件时,如果包含中文,那么java读出时会有乱码。
原因: java中文件大多以UTF-8或GBK的方式保存,而java程序在读出properties文件时采用unicode编码方式,所以出现乱码

最佳解决办法: 将properties文件中的内容采用第三方工具转为unicode编码的内容
如: 自然灾害 (转换后为\u81EA\u7136\u707E\u5BB3)
工具: UltraEdit 新建文件保存时,格式选择: unicode-ASCCII Escaped,此时中文被转换为如上面的 unicode格式, java读取时就不会出现乱码了!!!

有两种办法:
第一种办法:如楼上所说的那样也可以,就是native2ascii -reverse -encoding gb2312 user.properties ActionName_zh_CN.properties这样以后,你打开ActionName_zh_CN.properties的内容,再将ActionName_zh_CN.properties文件这样置:native2ascii ActionName_zh_CN.properties userChange.properties 然后你的程序读userChange.properties的内容就可以。
第二种办法是:
如你代码里写的,你可以在String username=property.getProperty("username");之后,添加JAVA代码页可以将乱码转为中文的。用如下语句就可以了,resultName=new String(username.getBytes("ISO-8859-1"),"gbk"); 然后再用resultName就可以了,不过这样的话你下面的String password=property.getProperty("password");
都慢慢的通过上面的java代码去转。
或通过反射机制去做第二种办法的转码!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值