2015-12-03 30 views
1

我使用法語消息來提交我的personnal項目,包括UTF-8口音。Git帶有法語口音的消息

我正在Linux Arch的安裝上處理這些項目,然後在另一個新的Arch安裝中將它們拉出。

但是現在,當我想查看其中某個項目的git日誌時,它不會正確顯示法語重音。

例有一個選定的承諾:

$ git log -n1 --pretty=format:"%h %s" 8e72413 
8e72413 Ajout<C3><A9> le param<C3><A8>tre TabStop 

但是,當我管它cat,它就像一個魅力:

$ git log -n1 --pretty=format:"%h %s" 8e72413 | cat 
8e72413 Ajouté le paramètre TabStop 

它的工作原理也很好,當我使用Vim的閱讀,請使用以下類似命令:

:r! git log -n1 --pretty=format:"%h %s" 8e72413 

如果我使用eith,則會發生同樣的問題呃xtermurxvt,我的語言環境設置配置良好(以及我在其上工作的舊安裝),其中LANG=fr_FR.UTF-8。當然,我的老Arch安裝仍然運行良好,沒有這個問題,使用同一個存儲庫。

我錯過了什麼?我真的不記得我之前安裝的任何東西,以使其正常工作。

+0

看看你'less'配置。 – tripleee

+0

'less'由'LANG' env var統治,否?如果我使用'less'來查看帶有突出字符的文件,它可以工作。但'git'仍然不能正常工作 – yolenoyer

+0

你可能是對的,因爲當我把'$ export GIT_PAGER = cat'的時候,它會再次運行。我必須看看它,不知道如何設置'less'與'git' – yolenoyer

回答

1

的問題是,我的語言環境的配置並沒有這麼好配置:

$ locale 
LANG=fr_FR.UTF-8 
LC_CTYPE="fr_FR.UTF-8" 
LC_NUMERIC="fr_FR.UTF-8" 
LC_TIME="fr_FR.UTF-8" 
LC_COLLATE="fr_FR.UTF-8" 
LC_MONETARY="fr_FR.UTF-8" 
LC_MESSAGES="fr_FR.UTF-8" 
LC_PAPER="fr_FR.UTF-8" 
LC_NAME="fr_FR.UTF-8" 
LC_ADDRESS="fr_FR.UTF-8" 
LC_TELEPHONE="fr_FR.UTF-8" 
LC_MEASUREMENT="fr_FR.UTF-8" 
LC_IDENTIFICATION="fr_FR.UTF-8" 
LC_ALL= 

我沒看到重要的一點:LC_ALL沒有設置爲fr_FR.UTF-8


編輯:

其實問題比這更簡單:我只是忘了我添加以下別名:alias git='LANG=en_US.UTF-8 git'

事實上,改變的LC_ALL值不是一個解決方案。

我提出這個別名,因爲vim-fugitive不與法語顯示git成效良好