Git for windows 中文亂碼解決方案

Git 是在linux下開發的,而 Linux 的編碼方式是基於 UTF-8 的,因此移植到 Windows 以後不免會存在編碼衝突,致使亂碼。Git 在 Windows 下有多種亂碼狀況,請按具體狀況操做~
假設 Git 安裝目錄爲 C:\Gitlinux

1.使用 git add 命令添加文件名含中文字符的文件時

1.1 亂碼相似:
\316\304\261\276\316\304\265\265.txt
1.2 解決方案:

編輯 C:\Git\etc\inputrc 文件中對應的行,查找如下2行,並修改其值,
原先:git

set output-meta off
    set convert-meta on

改成:bash

set output-meta on
    set convert-meta off

2.使用git log查看含有中文的log信息時

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

注:設置 commit 提交時使用 utf-8 編碼,可避免 Linux 服務器上亂碼;同時設置在執行 git log 時將 utf-8 編碼轉換成 gbk 編碼,以解決亂碼問題。
編輯 C:\Git\etc\profile 文件,添加以下一行:ui

export LESSCHARSET=utf-8

注:以使git log能夠正常顯示中文(須要配合:i18n.logoutputencoding gbk編碼

3.使用ls命令查看含有中文的文件名亂碼時

3.1 亂碼相似:
????.txt
    ???????.md
3.2 解決方案:

使用 ls --show-control-chars 命令來強制使用控制檯字符編碼顯示文件名,便可查看中文文件名。
爲了方便使用,能夠編輯 C:Gitetcgit-completion.bash 文件,添加以下一行:code

alias ls="ls --show-control-chars"

4.在Git Gui中查看UTF-8編碼的文本文件時

4.1 亂碼相似:
鍩誇腑鏂囨枃妗£
4.2 解決方案:

在Bash提示符下輸入:utf-8

git config --global gui.encoding utf-8

注:經過上述設置,UTF-8 編碼的文本文件能夠正常查看,可是 GBK 編碼的文件將會亂碼,因此仍是沒有從根本上解決問題。開發

可行的方法之一爲:將全部文本文件的編碼統一爲 UTF-8 或 GBK,而後設置相應的gui.encoding 參數爲 utf-8gbkinput

注:本文參考他人成功,非徹底原創。

相關文章
相關標籤/搜索