Hola, estoy en Win10 y Git 2.35.1.
$ git --version git version 2.35.1.windows.1 Creo que mi terminal Git Bash tiene algunos problemas de codificación. Por ejemplo, si java , el mensaje que recibo es mojibake.
(Honestamente, no estoy seguro de por qué mi Java está imprimiendo en otro idioma que no sea inglés. No configuré nada especial cuando instalé JRE o JDK).
$ java ▒÷▒: java [-options] class [args...] (ִ▒▒▒▒) ▒▒ java [-options] -jar jarfile [args...] (ִ▒▒ jar ▒ļ▒) ▒▒▒▒ѡ▒▒▒▒▒: -d32 ʹ▒▒ 32 λ▒▒▒▒ģ▒▒ (▒▒▒▒▒▒▒) -d64 ʹ▒▒ 64 λ▒▒▒▒ģ▒▒ (▒▒▒▒▒▒▒) -client ѡ▒▒ "client" VM -server ѡ▒▒ "server" VM Ĭ▒▒ VM ▒▒ client.Sin embargo, mi configuración regional es UTF-8:
$ locale LANG= LC_CTYPE="C.UTF-8" LC_NUMERIC="C.UTF-8" LC_TIME="C.UTF-8" LC_COLLATE="C.UTF-8" LC_MONETARY="C.UTF-8" LC_MESSAGES="C.UTF-8" LC_ALL=C.UTF-8 Y, cuando se usan comandos como echo , los caracteres UTF-8 se muestran correctamente:
$ echo 中文中文中文中文Probé varios métodos como git config --global i18n.logOutputEncoding utf-8 y setx LC_ALL C.UTF-8 pero el comando java todavía imprime un lío.
¿Cuál es el problema?
¿El comando java usa alguna otra codificación en conjunto, no UTF-8?
Compruebe primero, como aquí , si esto funciona:
java -Duser.language=en -Duser.country=US java -Duser.language=en -Duser.country=US -XshowSettings -versionEl segundo comando mostraría la configuración actual.
Si eso funciona, puede configurar esas opciones a través de la variable de entorno JAVA_TOOL_OPTIONS .
Aunque, desde JDK9+, JDK_JAVA_OPTIONS es una alternativa válida.
Siguiendo las instrucciones aquí , encontré una solución permanente: REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_TOOL_OPTIONS /d -Duser.language=en /t REG_SZ /f y reinicie la computadora.
Y ahora cuando java
$ java Picked up JAVA_TOOL_OPTIONS: -Duser.language=en Usage: java [options] <mainclass> [args...] (to execute a class) or java [options] -jar <jarfile> [args...] (to execute a jar file) or java [options] -m <module>[/<mainclass>] [args...] ...