У меня возникли проблемы с работой unicode для работы 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. Это заставляет меня получить разрешение, отклоненное при попытке загрузить мой тестовый файл в Юникоде. Однако привязка файла без юникода работает отлично. Как продемонстрировано, отбрасывая обратно в cmd.exe, я все еще могу "сшить" файл. Используя мою кодировку по умолчанию (437), я могу записать файл в bash (разрешение не разрешено, но выход выгружается).
S:\>chcp 65001 Active code page: 65001 S:\>"C:\Program Files (x86)\Git\bin\sh.exe" --login -i [email protected] /z cat /s/unicode.txt cat: write error: Permission denied [email protected] /z cat /s/nounicode.txt abc [email protected] /z L /s/unicode.txt -rw-r--r-- 1 zarac Administ 7 May 18 10:30 /s/unicode.txt [email protected] /z whoami towelie\zarac [email protected] /z exit Z:\>type S:\unicode.txt abc£
-
Использование флага /U при запуске оболочки (имеет смысл, что он не работает, потому что это не совсем то, что для if-i-understand-правильно, но имеет отношение к unicode, поэтому я попробовал его).
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/info/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 для подключения к нему, но это просто неправильно!; )
PS. Есть ли официальная документация для git - bash?