当你看到这篇博客时,网上大部分方法你可能都试过了。对,我csdn和百度上大部分操作都试过了,依旧无效。以下都是我亲身试验成功的。
没有修改任何设置的控制台输出:
修改之后的控制台输出:
方法一:
第一步:Window–>preference–>General–>Context Types–>Text–>Java Properties File 如果红色标记处改为UTF-8
此时用如图的String类的getBytes()方法转变编码进行输出。
结果为
分析
成功之前的错误实例
因为properties文件默认编码大多为ISO-8859-1,如果不改变编码,此时在.propreties文件中输入“欧阳耀莹”,结果如图所示。
此时用如图的String类的getBytes()方法转变编码进行输出
结果为
且我在修改为“UTF-8”之后,输出name,也是上图的乱码结果。
概括:如果不改为UTF-8,文件显示会是一堆/and字母and数字的组合形式;如果改成UTF-8,那么文件会显示为中文,但是控制台仍然乱码。(输出得到的name,不输出Name)
我的思考结论:eclipse有修改编码的地方不只有此处,
编码转变猜想:.propreties编码形式–>项目工程编码形式–>控制台输出编码。那个getBytes()设置了字符串的输出编码形式为UTF-8。
方法二:
经过我长达一小时的设置编码格式,在今天早上,解决了问题。(小声bb还是idea香,虽然我是eclipse老用户了)
第一步:修改工作空间默认编码 :window -> preferences -> General -> Workspace,如图红色区域设置
第二步:在Eclipse项目文件上右键,选择Properties,点击Resource选择修改编码格式
第三步:在包资源管理器的某文件上右键,点击Properties -> Resource选择修改编码格式,改变文本文件编码格式为UTF-8
第四步:.修改.properties文件类型的编码:window -> preferences -> General -> Content Types
做了以上四步,相信大部分人乱码问题应该都可以解决了。同时做了以上修改之后,记得看.properties文件 中文是否乱码,乱码则重新输出相应中文,然后运行。如果还是不行,可以重新建工程,我就是设置好这些后,还是控制台输出中文乱码,就重新建立工程后并做了第五步,运行成功。
第五步:Run As–>Run Configuations–>Common–>如图设置
成功截图:
要是还不行,建议使用idea,如图设置一下,运行一下成功。(设置比eclipse要简单,但是要比idea吃内存)
方法三:如果软件设置没有效果,可以直接指定String输出的编码格式。
字节流:
字符流:
br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("src/prop.properties")), "UTF-8"));
在下菜鸟一枚,如果有不对之处,可以在评论区给予纠正,感谢您的阅读。