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