У меня возникли проблемы с тем, чтобы unicode работал для git-bash (в Windows 7). Я пробовал много вещей без успеха. Хотя я не совсем уверен, что за это отвечает, поэтому, возможно, я работаю в неправильном направлении.
Кажется, это действительно возможно, так как кодировку cmd.exe можно изменить на юникод с помощью «chcp 65001».
Вот некоторые вещи, которые я пробовал (помимо очевидного просмотра параметров конфигурации в графическом интерфейсе).
Установка переменных окружения в '.bashrc'. Я думаю, это имеет смысл, это не работает, так как я думаю, что это дело Linux. Команда «locale» не существует.
экспорт LC_ALL=en_US.UTF-8
экспорт ЯЗЫК=en_US.UTF-8
ЯЗЫК экспорта = en_US.UTF-8
Начиная с cmd.exe, изменяя кодировку на unicode с помощью «chcp 65001», а затем запуская git-bash. Это приводит к тому, что я получаю отказ в разрешении при попытке выполнить проверку моего тестового файла Unicode. Однако перехват файла без юникода работает нормально. Как показано, возвращаясь к cmd.exe, я все еще могу «привязать» файл. Используя мою кодировку по умолчанию (437), я могу преобразовать файл в bash (разрешение не отказано, но вывод подделан).
S:\>chcp 65001
Активная кодовая страница: 65001
S:\>"C:\Program Files (x86)\Git\bin\sh.exe" --login -i
Зарак@ПОЛОТЕНЧИК /z
кот /s/unicode.txt
кошка: ошибка записи: Отказано в доступе
Зарак@ПОЛОТЕНЧИК /z
кошка /s/ноуникод.текст
азбука
Зарак@ПОЛОТЕНЧИК /z
L /s/unicode.txt
-rw-r--r-- 1 zarac Администратор 7 18 мая 10:30 /s/unicode.txt
Зарак@ПОЛОТЕНЧИК /z
кто я
полотенце\зарак
Зарак@ПОЛОТЕНЧИК /z
выход
Z:\> введите S:\unicode.txt
абв £
Использование флага /U при запуске оболочки (имеет смысл, что он не работает, потому что это не совсем то, для чего он нужен, если я правильно понимаю, но он связан с юникодом, поэтому я попробовал).
C:\Windows\SysWOW64\cmd.exe /U /C "C:\Program Files (x86)\Git\bin\sh.exe" --login -i
Поскольку я предпочитаю использовать Console2, я попытался добавить значение двойного слова с именем CodePage со значением 65001 (десятичное число) в реестр Windows в разделе [HKEY_CURRENT_USER\Console], а также [HKEY_CURRENT_USER\Console\Git Bash]. Кажется, это имеет тот же эффект, что и настройка «chcp 65001», которая принимает «автоматический режим». (http://stackoverflow.com/questions/379240/is-there-a-windows-command-shell-that-will-display-unicode-characters)
JPSoft TCC/LE
PowerCMD
stackoverflow
duckduckgo
ixquick / google
Таким образом, метод 2 кажется жизнеспособным, если проблема с разрешениями может быть решена. Тем не менее, я открыт практически для любого решения, хотя я предпочитаю, чтобы я мог использовать Console2 (в основном из-за его изящной функции вкладки). Возможно, одним из решений было бы настроить SSH-сервер, а затем использовать Putty/Kitty для подключения к нему, но это просто неправильно! ; )
ПС. Есть ли официальная документация по git-bash?