解决git 提交后中文字符会乱码的问题
最近发生那了一件怪事,当然菜鸡经常碰见怪事
本来一个.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.我肯定想撤回刚才的提交 推荐文章
3.将.properties文件回退到非ascii格式的文件(注意备份好)
4.balabalabala提交正常流程
以上这篇解决git 提交后中文字符会乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
推荐阅读
-
php+AJAX传送中文会导致乱码的问题的解决方法
-
php 中文字符入库或显示乱码问题的解决方法
-
SQLServer乱码问题的分析及解决方法(中文字符被存入数据库后,显示为乱码)
-
mysql命令框中向表中插入中文字符,在可视化工具MySQL Workbeach或phpMyAdmin中不显示或显示乱码的问题解决
-
Javascript的encodeURIComponent()格式化中文字符后在ASP.NET页面中乱码问题的解决
-
解决git 提交后中文字符会乱码的问题
-
tomcat服务器如何配置字符集为utf-8彻底解决中文乱码的问题详解
-
运行vbs脚本报错无效字符、中文乱码的解决方法(编码问题)
-
php 中文字符入库或显示乱码问题的解决方法_PHP
-
php 中文字符入库或显示乱码问题的解决方法