解決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.我肯定想撤回剛才的提交 推薦文章 https://www.jb51.net/article/195650.htm
3.將.properties檔案回退到非ascii格式的檔案(注意備份好)
4.balabalabala提交正常流程
以上這篇解決git 提交後中文字元會亂碼的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。