最近發(fā)生那了一件怪事,當然菜雞經(jīng)常碰見怪事
本來一個.properties文件在idea里面commit的時候看了一下diff,沒發(fā)現(xiàn)異常,但是提交到gitlab上發(fā)現(xiàn).properties的所有中文字符都變成了 \xxxx 的ascii的編碼。
然后我在idea的show history中查看和上一版本的差異,發(fā)現(xiàn)這些中文字符沒問題????!
然后就是一頓的百度,bing
最后發(fā)現(xiàn)設(shè)置里面 transparent native-to-ascii conversion是選中的
然后網(wǎng)上有人這樣解釋:::
Transparent native-to-ascii conversion的意思是:自動轉(zhuǎn)換ASCII編碼。
他的工作原理是:在文件中輸入文字時他會自動的轉(zhuǎn)換為Unicode編碼,然后在idea中發(fā)開文件時他會自動轉(zhuǎn)回文字來顯示。
這樣做是為了防止文件亂碼。。。
還有:::
取消勾選以后,看到到中文全都轉(zhuǎn)成ASCII;2.其他團隊成員拉取到的代碼是ASCII;3.push到git上面是ASCII。也就是說比如有同事用的eclipse用中文寫的備注,你這邊編輯以后push會把原來中文的注釋全都用ASCII覆蓋,這個就是勾選以后造成的影響。。。
OK,大概意思就是這樣,這個文件你雖然看起來沒問題,但是你只要選中了它,他么他現(xiàn)在就是一個ASCII文件存儲在你本地,但是git上的文件可不是這個格式,你可以嘗試用notepad++打開這個本地的.properties文件,你會發(fā)現(xiàn)他沒有中文,,
好原因說完了,怎么解決?
1.首先肯定是取消勾選Transparent native-to-ascii conversion,你會發(fā)現(xiàn)本地已經(jīng)由中文字符變成了Ascii編碼。
2.我肯定想撤回剛才的提交 推薦文章 https://www.jb51.net/article/195650.htm
3.將.properties文件回退到非ascii格式的文件(注意備份好)
4.balabalabala提交正常流程
以上這篇解決git 提交后中文字符會亂碼的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Git撤銷已經(jīng)推送(push)至遠端倉庫的提交(commit)信息操作
- Git commit --amend 修改提交信息操作
- git log根據(jù)特定條件查詢?nèi)罩静⒔y(tǒng)計修改的代碼行數(shù)
- Idea中使用Git的流程