@简单记录 开始是成功的一半,希望能坚持走下去!
今天在使用ResourceBundle读取配置文件的时候遇到了中文乱码的问题,后来使用 new String(str.getBytes(“iso-8859-1”),“utf-8”) 的方式解决的,现在将原理简单叙述记录下。
在java中 str.getBytes();会根据操作系统的默认编码格式将字符串转换成字节数组,str.getbytes(“编码格式”);则会根据不同的编码格式将字符串转换成对应的字节数组,由于配置文件默认采用"iso-8859-1"的编码格式进行字符串进行存储,而“iso-8859-1”格式中是不存在中文字符的,因此直接获取配置文件的中文字符会产生乱码。因此第一步根据“iso-8859-1”的编码格式获取字节数组,然后将字节数组再根据“utf-8”的编码格式生成字符串,这样就能生成一个正确的中文字符啦!