Как заставить 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.
Программа установки может сделать это автоматически, но только для устанавливающего пользователя.