Unicode (utf-8) mit Git-Bash

Ich habe Probleme, Unicode für git-bash (unter Windows 7) zum Laufen zu bringen. Ich habe viele Dinge ohne Erfolg versucht. Obwohl ich nicht ganz sicher bin, was dafür verantwortlich ist, arbeite ich möglicherweise in die falsche Richtung.

Es scheint wirklich, dass dies möglich sein sollte, da die Codierung für cmd.exe mit 'chcp 65001' in Unicode geändert werden kann.

Hier sind einige Dinge, die ich ausprobiert habe (außer den offensichtlichen Konfigurationsoptionen in der GUI).

Umgebungsvariablen in '.bashrc' setzen. Ich denke, es macht Sinn, dass dies nicht funktioniert, da ich denke, dass es eine Linux-Sache ist. Der Befehl 'locale' existiert nicht.

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

Beginnen Sie in cmd.exe, ändern Sie die Codierung in Unicode mit 'chcp 65001' und starten Sie dann git-bash. Dies führt dazu, dass mir eine Berechtigung verweigert wird, wenn ich versuche, meine Unicode-Testdatei zu durchsuchen. Das Catting einer Datei ohne Unicode funktioniert jedoch einwandfrei. Wie gezeigt, kann ich die Datei nach dem Zurücksetzen auf cmd.exe immer noch "cat". Unter Verwendung meiner Standardkodierung (437) kann ich die Datei in Bash cat (keine Berechtigung verweigert, aber die Ausgabe ist verfälscht).

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£

Verwenden des / U-Flags beim Starten der Shell (es macht Sinn, dass es nicht funktioniert, weil es nicht ganz das ist, was es bedeutet, wenn ich es richtig verstehe, aber es hat mit Unicode zu tun, also habe ich es versucht).

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

Da ich lieber Console2 verwende, habe ich versucht, der Windows-Registrierung unter [HKEY_CURRENT_USER \ Console] sowie unter [HKEY_CURRENT_USER \ Console \ Git Bash] einen Dword-Wert mit dem Namen CodePage mit dem Wert 65001 (dezimal) hinzuzufügen. Dies scheint den gleichen Effekt zu haben wie die Einstellung 'chcp 65001'. Akzeptiere, dass es "automatisch" ist. (http://stackoverflow.com/questions/379240/is-there-a-windows-command-shell-that-will-display-unicode-characters)

JPSofts TCC / LE

PowerCMD

Paketüberfluss

duckduckgo

ixquick / google

Methode 2 scheint also brauchbar zu sein, wenn dieses Berechtigungsproblem behoben werden kann. Ich bin jedoch für so ziemlich jede Lösung offen, obwohl ich es vorziehen würde, wenn ich Console2 verwenden könnte (hauptsächlich aufgrund der Funktion für raffinierte Registerkarten). Möglicherweise besteht eine Lösung darin, einen SSH-Server einzurichten und dann eine Verbindung mit Putty / Kitty herzustellen, aber das ist einfach falsch! ; )

PS. Gibt es eine offizielle Dokumentation für Git-Bash?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage