Unicode (utf-8) avec git-bash
Je vais avoir certaines difficultés unicode à travailler pour git-bash (sur windows 7). J'ai essayé beaucoup de choses sans succès. Bien que, je ne suis pas tout à fait sûr de ce qui est responsable pour cette sorte que je pourrais travailler dans la mauvaise direction.
Il semble vraiment ce devrait être possible, car le codage pour cmd.exe peut être modifié en unicode avec "chcp 65001'.
Voici certaines choses que j'ai essayé (en plus de l'évidente de la recherche à travers les options de configuration dans l'interface graphique).
-
Définition des variables d'environnement dans '.bashrc'. Je suppose que cela a du sens, cela ne fonctionne pas car je pense que c'est un linux chose. Le "locale" de la commande n'existe pas.
export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 export LANGUAGE=en_US.UTF-8
-
De départ dans cmd.exe, la modification de l'encodage unicode avec "chcp 65001" et puis le démarrage de git-bash. Cela m'amène à obtenir une autorisation refusée lors de la tentative de chat mon unicode fichier de test. Cependant, cat un fichier sans unicode fonctionne très bien. Comme l'a démontré, de revenir à cmd.exe je peux encore le "chat" du fichier. À l'aide de mon encodage par défaut (437) je peux chat le fichier dans bash (sans permission refusée, mais la sortie est truqués).
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£
-
À l'aide de l'option /U lors du lancement du shell (logique que cela ne fonctionne pas car ce n'est pas tout à fait ce que c'est pour si-je-comprends-pas correctement, mais il doit le faire avec unicode donc je l'ai essayé).
C:\Windows\SysWOW64\cmd.exe /U /C "C:\Program Files (x86)\Git\bin\sh.exe" --login -i
-
Que je préfère utiliser Console2, j'ai essayé d'ajouter une valeur dword nommée page de Codes avec la valeur 65001 (décimal) pour le registre windows sous [HKEY_CURRENT_USER\Console] ainsi que [HKEY_CURRENT_USER\Console\Git Bash]. Cela semble avoir le même effet que la définition de "chcp 65001' accepter que c'est "automatique". (http://stackoverflow.com/questions/379240/is-there-a-windows-command-shell-that-will-display-unicode-characters)
-
JPSoft du STC/LE
-
PowerCMD
-
stackoverflow
-
duckduckgo
-
ixquick /google
Donc, la méthode 2 ne semble pas viable si cette autorisation problème peut être résolu. Cependant, je suis ouvert à presque n'importe quelle solution, bien que je préfère si je peux utiliser Console2 (principalement en raison de c'est chouette la fonction de patte). Peut-être qu'une solution serait d'installer un serveur SSH et ensuite utiliser Putty/Kitty pour vous y connecter, mais c'est tout simplement faux! ; )
PS. Est-il de toute la documentation officielle de git-bash?
- msysgit 1.7.10 gère l'unicode correctement. Voir cette page pour la documentation officielle
I'm open to pretty much any solution
: Purger le mal, Installer linux, ???, Le Profit!!! 😛 Désolé- Que penser de l'utilisation de Cygwin et rxvt?
- Merci pour vos réponses et votre modifier CharlesB!
- Dans le cas où il n'était pas clair, merci à vous aussi KurzedMetal. 😉
- Le problème avec
chcp 65001
est qu'il y a des bugs dans le runtime C (MSVCRT) qui font stdio appels de retour des résultats incohérents lors de l'exécution sous la page de codes 65001. C'est pourquoi 65001 n'est pas disponible pour la cueillir comme une page de codes ANSI à partir des Options Régionales Et Linguistiques liste déroulante. Pour les applications compilées avec d'autres moteurs d'exécution, vous pouvez sortir avec elle, mais la plupart des applications Windows crash et brûler. - nkatsar la réponse ci-dessous est celui qui répond à votre question. Vous devriez envisager de changer votre réponse.
Vous devez vous connecter pour publier un commentaire.
J'ai fait face à la même question dans MSYS Git 2.8.0 et comme il s'est avéré, il avait juste besoin de modifier la configuration.
La configuration par défaut de Git Bash console dans mon système n'a pas montré grec les noms de fichiers.
La dernière ligne doit afficher "Τα έγγραφά μου", la traduction en grec de "Mes Documents". Pour régler ce problème, j'ai suivi les étapes ci-dessous:
Vérifier vos paramètres régionaux existants configuration
Comme indiqué ci-dessus, dans mon cas c'était pas en UTF-8
Modifier les paramètres régionaux à un encodage UTF-8. Cliquez sur l'icône sur le côté gauche de MINGW barre de titre, sélectionnez "Options" et dans la catégorie "Texte" choisir "UTF-8" jeu de Caractères. Vous devez également choisir une police de caractères unicode, comme la valeur par défaut "Lucida Console". Ma configuration ressemble comme suit:
Changer la langue pour la fenêtre en cours (pas besoin de le faire sur l'avenir de windows, car elles seront créées avec les paramètres de l'étape 2)
La commande ls devraient maintenant s'afficher correctement
Comme CharlesB dit dans un commentaire, msysgit 1.7.10 gère l'unicode correctement. Il y a encore quelques problèmes, mais je peux confirmer que la mise à jour ont permis de résoudre le problème que j'avais.
Voir: https://github.com/msysgit/msysgit/wiki/Git-for-Windows-Unicode-Support
<E2><80><99>
pour’
) dans le sens inverse soulignant (qui est, en noir sur blanc plutôt que le blanc sur noir) plutôt que sur le caractère qu'il avait jadis fait. Je l'ai corrigé en définissant la variable d'environnementLC_ALL=en_AU.utf8
à l'échelle mondiale. Notez que j'utilisechcp 65001
(le pseudo-UTF-8 page de codes pour conhost). C'est assez semblable à ce que le haut-voté réponse à cette question, a dit de le faire.Vérifier si le problème persiste avec Git 2.1 (août 2014).
Voir s'engager 617ce96 ou s'engager 1c950a5 par Karsten Blees (
kblees
)Win32: prise en charge d'Unicode sortie de la console
Win32: ajouter des fonctions de conversion Unicode
Il est susceptible d'être un port de quelque chose de déjà intégré dans msysgit, mais au moins, cela signifie que la version Windows de Git n'aurez pas à diverger/patch à partir du Git de pensions de code source afin d'inclure ces améliorations.
Je peux voir qu'il y a quelques problèmes avec l'encodage des caractères avec git bash pour windows. Moins, pour travailler avec git lui-même et les outils, il est livré avec (curl, cat, grep etc.). Je n'ai pas de problèmes avec ceux-ci au fil des ans, l'encodage des caractères liés.
Normalement avec chaque nouvelle version de problèmes, obtenir de meilleurs résolu. E. g. avec la version d'il y a un an, je ne pouvais pas saisir des caractères comme "
ä
" dans la coque, de sorte qu'il n'était pas possible d'écrireTester rapidement si l'UTF-8 est prise en charge et à quel niveau. Une solution de contournement consiste à écrire l'octet-séquences octal:
Encore des questions je dois quand j'execute mon windows php.exe binaire à la sortie de texte:
Cela ne donne pas le le "
ä
" dans le terminal, mais il renvoie "ä
" à la place. La solution de contournement pour moi, c'est que j'enveloppe lephp
commande dans un bash-script qui traite la sortie à traverscat
:réf. reg. stdout + stderr chat
Magiquement, puis fait
php
de travailler à nouveau:S'applique à
Je dois avouer que je m'ennuie de plus profond, de comprendre pourquoi tout cela est la façon dont il est. Mais je suis enfin heureux que j'ai trouvé une solution de contournement pour utiliser le php dans git bash avec le support UTF-8.
git version 2.8.2.windows.1
.Trouvé cette réponse ailleurs:
chcp.com 65001
Git bash rssa windows7 problème de codage de
C'est ce qui s'est réellement résolu pour moi.
Qui devrait être mieux avec Git 2.23 (T3 2019)
Voir s'engager 090d1e8 (03 Juillet 2019) par Karsten Blees (
kblees
).(Fusionnés par Junio C Hamano --
gitster
-- dans s'engager 0328db0, le 11 Juillet 2019)gettext: toujours utiliser de l'UTF-8 sur Windows natif
Et:
Voir s'engager 697bdd2 (04 Juillet 2019), et s'engager 9423885, s'engager 39a98e9 (27 Juin 2019) en Johannes Schindelin (
dscho
).(Fusionnés par Junio C Hamano --
gitster
-- dans s'engager 0a2ff7c, le 11 Juillet 2019)