2015-12-03 2 views
1

Я использую для передачи своих личных проектов с французскими сообщениями, включая акценты 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 er xterm или urxvt, и мои настройки локали хорошо настроены (также с моей старой установкой, на которой я работал), с LANG=fr_FR.UTF-8. Конечно, моя старая установка Arch все еще работает хорошо, без этой проблемы, с тем же репозиторием.

Что я пропустил? Я действительно не помню ничего, что мог бы сделать на моей старой установке, чтобы она работала правильно.

+0

Посмотрите на свой 'конфигурации less'. – tripleee

+0

'less' управляется' LANG' env var, no? Если я использую '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.


EDIT:

На самом деле, проблема была более тривиальным, чем: я просто забыл, что я добавил следующий псевдоним: alias git='LANG=en_US.UTF-8 git'

Действительно, изменяя значение LC_ALL не является решением проблемы.

Я сделал этот псевдоним, потому что vim-fugitive не работает хорошо с git отображается на французском языке ...

Смежные вопросы