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

编程技术  /  houtizong 发布于 2年前   427
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代码去转。
或通过反射机制去做第二种办法的转码!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!

留言需要登陆哦

技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成

网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];

      订阅博客周刊 去订阅

文章归档

文章标签

友情链接

Auther ·HouTiZong
侯体宗的博客
© 2020 zongscan.com
版权所有ICP证 : 粤ICP备20027696号
PHP交流群 也可以扫右边的二维码
侯体宗的博客