1. 修改idea的File Encoding
- 本来自己铆足劲,准备好好攻克一个问题的,结果发现一个properties文件的中文注释咋个乱码了
- 作为一个追求完美的人,无法容忍这样的情况存在
- 通过查阅资料(IntelliJ IDEA文件编码调整),说是需要设置UTF-8编码,自己进行了设置
Preferences → \rightarrow → Editor → \rightarrow → File Encodings - 其中,第4部分就是对properties文件的编码格式进行设置
- 修改完后,发现能正常显式中文了,对应的properties文件的编码也变成了UTF-8
2. 其他
2.1 如何查看文件的编码格式
- idea中,或者说常见的文本编辑器中,文件使用哪种编码,可以查看右下角
- 原来,自己之所出现中文乱码,是因为使用ISO-8859-1编码
- 这是在vscode中,显式的文件的编码方式
2.2 为什么不能勾选Transparent native-to-ascii conversion
- 博客中说,properties文件需要勾选
Transparent native-to-ascii conversion
亲测不可行 - 最开始,自己也勾选了该选项,确实能正常显式中文注释,但通过git diff查看文件的差异时,出现了中文乱码
- 这个乱码还不是一般的乱码,而是使用unicode编码表示了中文字符
- 最开始自己没当回事,还以为是git bash或者idea的console出了什么问题
- 最后,push到远程的代码,竟然也存在unicode编码,相当于也是乱码 😂
- 这下着急了,到处查资料,终于发现一个靠谱的说法:git 提交后中文字符会乱码
- 原来,
Transparent native-to-ascii conversion
的工作原理如此神奇:在文件中输入文字时,它会自动将中文转换为Unicode编码,然后在idea中使用时,会自动将unicode编码转回中文,以防止文件乱码
- 怪不得,自己为啥idea中正常显示中文,git时却得到是unicode编码的中文
2.3 误勾选的解决办法
- 取消对
Transparent native-to-ascii conversion
的勾选,删除已有的注释,并在正确的模式下重新输入注释 - 因为,输入的中文已经使用了unicode编码,这是不会改变的
- 只有取消勾选后,新输入的中文才是按照UTF-8保存的