Юникод (utf-8) с git-bash

У меня возникли проблемы с настройкой юникода на git-bash (в Windows 7). Я перепробовал много вещей без успеха. Хотя, я не совсем уверен, что за это отвечает, поэтому я могу работать не в том направлении.

Это действительно кажется возможным, поскольку кодировку cmd.exe можно изменить на unicode с помощью 'chcp 65001'.

Вот некоторые вещи, которые я пробовал (помимо очевидного просмотра параметров конфигурации в графическом интерфейсе).

Установка переменных окружения в .bashrc. Я думаю, что это имеет смысл, это не работает, так как я думаю, что это вещь Linux. Команда locale не существует.

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

Начиная с cmd.exe, изменив кодировку на unicode с помощью 'chcp 65001', а затем запустив git-bash. Это приводит к тому, что я получаю отказано в разрешении при попытке перехватить мой тестовый файл Unicode. Тем не менее, загрузка файла без юникода работает просто отлично. Как продемонстрировано, возвращаясь к cmd.exe, я все еще могу «перебить» файл. Используя кодировку по умолчанию (437), я могу отследить файл в bash (разрешение не отклонено, но вывод вымышлен).

S:\>chcp 65001
Active code page: 65001
S:\>"C:\Program Files (x86)\Git\bin\sh.exe" --login -i
zarac@TOWELIE /z
cat /s/unicode.txt
cat: write error: Permission denied
zarac@TOWELIE /z
cat /s/nounicode.txt
abc
zarac@TOWELIE /z
L /s/unicode.txt
-rw-r--r--    1 zarac    Administ        7 May 18 10:30 /s/unicode.txt
zarac@TOWELIE /z
whoami
towelie\zarac
zarac@TOWELIE /z
exit
Z:\>type S:\unicode.txt
abc£

Использование флага / U при запуске оболочки (имеет смысл, что он не работает, потому что это не совсем то, что нужно для if-i-понимаю-правильно, но это связано с юникодом, поэтому я попробовал).

C:\Windows\SysWOW64\cmd.exe /U /C "C:\Program Files (x86)\Git\bin\sh.exe" --login -i

Поскольку я предпочитаю использовать Console2, я попытался добавить значение dword с именем 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's TCC / LE

PowerCmd

переполнение стек

DuckDuckGo

ixquick / google

Так что, способ 2 кажется жизнеспособным, если эту проблему с разрешением можно исправить. Тем не менее, я открыт практически для любого решения, хотя предпочитаю использовать Console2 (в основном из-за его изящной вкладки). Возможно, одним из решений было бы настроить SSH-сервер, а затем использовать Putty / Kitty для подключения к нему, но это просто неправильно! ; )

PS. Есть ли официальная документация для git-bash?

Ответы на вопрос(5)

Ваш ответ на вопрос