Как заставить Git правильно отображать пути в кодировке UTF-8 в окне консоли?

У меня есть имена файлов в UTF-8, git обрабатывает их ОК, он будет правильно создавать файлы, а страницы github также будут отображаться правильно. За исключением того, что он будет отображать его в консоли, как показано ниже. Можно ли заставить git правильно отображать символы в кодировке UTF-8 за ASCII 127 в консоли?

git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   .gitignore
#       modified:   editfile.js
#       modified:   "\321\203\321\201\321\202\320\260\320\275\320\276\320\262"
#
no changes added to commit (use "git add" and/or "git commit -a")

ОБНОВИТЬ

Меня спросили о моей локали, вот вывод locale команда

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

1 ответ

Решение

git всегда использовал восьмеричное отображение utf8, и один из способов показать настоящее имя - использовать printf в оболочке

Согласно этому комментарию, это работает даже в Windows msysgit Bash, который включает в себя printf (и может использоваться как в " Как использовать восьмеричные символы в git checkout? ").

Но это не меняет вывод таких команд, как git status или же git ls-files, Однако, поскольку в Git 1.7.10 появилась поддержка юникода, на этой вики-странице упоминается:

По умолчанию, git будет печатать имена файлов не ASCII в восьмеричной кавычке, т.е. \nnn\nnn... Msgstr " Это можно отключить с помощью:

 git config core.quotepath off

Или для всех репозиториев, использующих:

 git config --global core.quotepath off

Имейте в виду, что:

Консольный шрифт по умолчанию не поддерживает Unicode. Измените шрифт консоли на шрифт TrueType, такой как Lucida Console или Consolas.
Программа установки может сделать это автоматически, но только для устанавливающего пользователя.

Другие вопросы по тегам