最近发生那了一件怪事,当然菜鸡经常碰见怪事
本来一个.properties文件在idea里面commit的时候看了一下diff,没发现异常,但是提交到gitlab上发现.properties的所有中文字符都变成了 \xxxx 的ascii的编码。
然后我在idea的show history中查看和上一版本的差异,发现这些中文字符没问题??!!
然后就是一顿的百度,bing
最后发现设置里面 transparent native-to-ascii conversion是选中的
然后网上有人这样解释:::
Transparent native-to-ascii conversion的意思是:自动转换ASCII编码。
他的工作原理是:在文件中输入文字时他会自动的转换为Unicode编码,然后在idea中发开文件时他会自动转回文字来显示。
这样做是为了防止文件乱码。。。
还有:::
取消勾选以后,看到到中文全都转成ASCII;2.其他团队成员拉取到的代码是ASCII;3.push到git上面是ASCII。也就是说比如有同事用的eclipse用中文写的备注,你这边编辑以后push会把原来中文的注释全都用ASCII覆盖,这个就是勾选以后造成的影响。。。
OK,大概意思就是这样,这个文件你虽然看起来没问题,但是你只要选中了它,他么他现在就是一个ASCII文件存储在你本地,但是git上的文件可不是这个格式,你可以尝试用notepad++打开这个本地的.properties文件,你会发现他没有中文,,
好原因说完了,怎么解决?
1.首先肯定是取消勾选Transparent native-to-ascii conversion,你会发现本地已经由中文字符变成了Ascii编码。
2.我肯定想撤回刚才的提交 推荐博文 https://blog.csdn.net/hanchao5272/article/details/79435730
3.将.properties文件回退到非ascii格式的文件(注意备份好)
4.balabalabala提交正常流程