前几天遇到了公司程序中xx.properties文件中 中文的注释全是乱码问题,但你打开idea发现已经设置了页面编码格式为UTF-8,然后去看了全局的编码
里面有个Global Encoding 也选的是UTF-8
解决方法:file->settings->editor->file encodings
如下图设置 ,一定要把下面这个选项(Transparent native-to-ascii converstion)勾上
参考:https://www.jetbrains.com/help/idea/properties-files.html
Transparent native-to-ascii converstion
这个选项的意思是:自动转换ASCII编码。具体下面再讨论。
我们先讨论要不要勾选这个选项,根据我问其他人和我个人的实验,建议不要勾选,除非这个项目是你的个人项目或者整个项目团队中其他人都勾选了。
下面比较啰嗦,可以不用看了。
根据我个人理解,我觉得这个选项的作用是把你properties中的ASCII码转换成中文展示给你了。比如勾选之前在properties中定义name=\u5317\u4eac,勾选以后看到的是name=北京。
有这么两种场景:
第一种:勾选。在properties敲中文的备注和中文的待读取内容:1.取消勾选以后,看到到中文全都转成ASCII;2.其他团队成员拉取到的代码是ASCII;3.push到git上面是ASCII。也就是说比如有同事用的eclipse用中文写的备注,你这边编辑以后push会把原来中文的注释全都用ASCII覆盖,这个就是勾选以后造成的影响。
第二种:不勾选。在properties敲中文的备注,取消勾选以后看到的也是中文,因为它本身不是ASCII没法转码,暂时没发现什么问题;在properties敲中文的待读取内容,代码读取到的是乱码,这个是我遇到的问题,我把这些中文换成ASCII,读取到的就是正常的了。
关注我的博客 https://ymliang.com 交流心得