Git 是在linux下開發(fā)的献联,而 Linux 的編碼方式是基于 UTF-8 的蝙斜,所以移植到 Windows 之后難免會(huì)存在編碼沖突吓著,導(dǎo)致亂碼谊惭。Git 在 Windows 下有多種亂碼情況鳄梅,請(qǐng)按具體情況操作~假設(shè) Git 安裝目錄為 C:\Git
1.使用 git add 命令添加文件名含中文字符的文件時(shí)
1.1 亂碼類似:
\316\304\261\276\316\304\265\265.txt
1.2 解決方案:
編輯 C:\Git\etc\inputrc
文件中對(duì)應(yīng)的行纺讲,查找以下2行,并修改其值综苔,原先:
set output-meta off set convert-meta on
改為:
set output-meta on set convert-meta off
2.使用git log查看含有中文的log信息時(shí)
2.1 亂碼類似:
<E4><BF><AE><E6><94><B9><E6><96><87><E6><9C><AC><E6><96><87><E6><A1><A3>
2.2 解決方案:
在Bash提示符下輸入:
git config --global i18n.commitencoding utf-8 git config --global i18n.logoutputencoding gbk
注:設(shè)置 commit 提交時(shí)使用 utf-8 編碼惩系,可避免 Linux 服務(wù)器上亂碼位岔;同時(shí)設(shè)置在執(zhí)行 git log
時(shí)將 utf-8 編碼轉(zhuǎn)換成 gbk 編碼,以解決亂碼問題堡牡。編輯 C:\Git\etc\profile
文件抒抬,添加如下一行:
export LESSCHARSET=utf-8
注:以使git log可以正常顯示中文(需要配合:i18n.logoutputencoding gbk
)
3.使用ls命令查看含有中文的文件名亂碼時(shí)
3.1 亂碼類似:
????.txt ???????.md
3.2 解決方案:
使用 ls --show-control-chars 命令來強(qiáng)制使用控制臺(tái)字符編碼顯示文件名,即可查看中文文件名晤柄。為了方便使用擦剑,可以編輯 C:Gitetcgit-completion.bash 文件,添加如下一行:
alias ls="ls --show-control-chars"
4.在Git Gui中查看UTF-8編碼的文本文件時(shí)
4.1 亂碼類似:
锘夸腑鏂囨枃妗£
4.2 解決方案:
在Bash提示符下輸入:
git config --global gui.encoding utf-8
注:通過上述設(shè)置芥颈,UTF-8 編碼的文本文件可以正常查看惠勒,但是 GBK 編碼的文件將會(huì)亂碼,所以還是沒有從根本上解決問題爬坑。
可行的方法之一為:將所有文本文件的編碼統(tǒng)一為 UTF-8 或 GBK纠屋,然后設(shè)置相應(yīng)的gui.encoding
參數(shù)為 utf-8
或 gbk