最近發生那了一件怪事,當然菜雞經常碰見怪事
本來一個.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://www.jb51.net/article/195650.htm
3.將.properties文件回退到非ascii格式的文件(注意備份好)
4.balabalabala提交正常流程
以上這篇解決git 提交后中文字符會亂碼的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Git撤銷已經推送(push)至遠端倉庫的提交(commit)信息操作
- Git commit --amend 修改提交信息操作
- git log根據特定條件查詢日志并統計修改的代碼行數
- Idea中使用Git的流程