mac en_us change macos vim utf-8 ssh terminal

macos - en_us - change locale mac



Problemas de OS X Terminal UTF-8 (11)

... O simplemente deje el caparazón solo y use TextWrangler, que también le permite elegir la codificación y puede abrir desde / guardar directamente en su caja de Ubuntu a través de sftp.

Bueno, finalmente conseguí una MacBook Air después de 15 años de Linux. Y antes de que lo obtuviera, mi gran preocupación era la compatibilidad con UTF-8 porque no importa si recibo archivos de windows o mac-clients, siempre hay problemas con la codificación, mientras que en ubuntu puedo estar seguro de que todos los resultados no importan qué programa producir datos codificados utf-8 perfectos.

Y ahora en mi segundo día (hoy) con OS X me estoy rompiendo el pelo por la frustración. ¿Por qué?

Cuando abro Nano y escribo algunos caracteres suecos como ÅÄÖ, pone caracteres en blanco al final de la línea (que supongo que es el otro byte en cada carácter)

Cuando abro Python y trato de usar caracteres suecos, no produce nada en absoluto

Cuando me conecto a un servidor Ubuntu a través de SSH, no puedo escribir åäö en bash, es difícil que funcione en VIM (todavía a través de SSH). Y en nano backspace no funciona, pero si marca la casilla "Eliminar envía ctrl + H" en las preferencias de Terminal, el retroceso comienza a trabajar en nano pero deja de funcionar en VIM.

Intenté desmarcar todas las otras codificaciones y luego UTF-8 en las preferencias de la terminal, pero eso tampoco parece funcionar.

Estoy seguro de que todas las personas que no sean estadounidenses deben tener los mismos problemas, así que, ¿por qué los soluciono? Solo quiero soporte completo para UTF-8 ...: ''(


Compruebe si el nano realmente se construyó con soporte UTF-8, utilizando nano --version . Aquí está en Cygwin:

nano --version GNU nano version 2.2.5 (compiled 21:04:20, Nov 3 2010) (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. Email: [email protected] Web: http://www.nano-editor.org/ Compiled options: --enable-color --enable-extra --enable-multibuffer --enable-nanorc --enable-utf8

Tenga en cuenta el último bit.


Dado que nano es una aplicación de terminal. Supongo que es más un problema terminal que un problema nano.

Encontré problemas similares en OS X (no puedo ingresar y ver los caracteres chinos en la terminal).

Traté de ajustar la configuración del sistema a través de la interfaz de usuario de OS X cuyo efecto real es cambiar la variable de entorno LANG.

Finalmente, agregué algunas cosas en ~ / .bashrc para solucionar el problema.

# I''m Chinese and I prefer English manual export LC_COLLATE="zh_CN.UTF-8" export LC_CTYPE="zh_CN.UTF-8" export LC_MESSAGES="en_US.UTF-8" export LC_MONETARY="zh_CN.UTF-8" export LC_NUMERIC="zh_CN.UTF-8" export LC_TIME="zh_CN.UTF-8"

Por cierto, no configure LC_ALL, que anulará todas las demás configuraciones LC_ *.


Desafortunadamente, el cuadro de diálogo Preferencias no siempre es muy útil, pero al ajustarlo debería poder hacer que todo funcione.

Para poder escribir caracteres suecos en Terminal, agregue las siguientes líneas a su ~ / .inputrc (lo más probable es que deba crear este archivo):

set input-meta on set output-meta on set convert-meta off

Esto debería hacer el trabajo tanto con utf8 como con otras codificaciones en bash , nano y muchos otros programas. Algunos programas, como tmux , también dependen de la locale . Entonces, agregar, por ejemplo, export LC_ALL=en_US.UTF-8 a su archivo ~/.profile debería ser útil, pero tenga en cuenta que algunos programas (principalmente oscuros) requieren una configuración regional estándar, por lo que si tiene problemas para ejecutar o compilar un programa , intente volver a LC_ALL=C

Algunas referencias que pueden ser útiles:


El siguiente es un resumen de lo que debe hacer bajo OS X Mavericks (10.9). Todo esto se resume en

http://hints.macworld.com/article.php?story=20060825071728278

  1. Vaya a Terminal-> Preferencias-> Configuración-> Avanzado.

    En Internacional , asegúrese de que la codificación de caracteres esté configurada en Unicode (UTF-8) .

    Además, y esta es la clave: en Emulación , asegúrese de que la entrada de escape no ASCII con Control-V esté desactivada (es decir, no esté configurada).

    Estas dos configuraciones arreglan cosas para Terminal.

  2. Asegúrese de que su configuración regional esté configurada para algo que termine en .UTF-8 . Escriba locale y mire la línea LC_CTYPE . Si no dice algo como en_US.UTF-8 (las cosas anteriores al punto podrían cambiar si está utilizando una configuración regional que no sea inglés de EE. UU.), En su Bash .profile o .bashrc en su directorio de inicio, agregue un línea como esta:

    export LC_CTYPE=en_US.UTF-8

    Esto arreglará las cosas para los programas de línea de comandos en general.

  3. Agregue las siguientes líneas a .inputrc en su directorio de inicio ( .inputrc si es necesario):

    set meta-flag on set input-meta on set output-meta on set convert-meta off

    Esto hace que Bash sea de ocho bits limpio, por lo que pasará caracteres UTF-8 dentro y fuera sin jugar con ellos.

Tenga en cuenta que deberá reiniciar Bash (por ejemplo, cerrar y volver a abrir la ventana del terminal) para que preste atención a todas las configuraciones que realice en los puntos 2 y 3 anteriores.


En mi caso, simplemente usando el comando uxterm lugar de xterm resolvió el problema. Está disponible en /opt/X11/bin/uxterm instalando el paquete XQuartz proporcionado por Apple.


Mi terminal solo estaba actuando tontamente, no imprimiendo åäö. Encontré (y establecí) esta configuración:

En Terminal -> Preferences... -> Profiles -> Advanced .

Parece que ha arreglado mi problema.


Para hacer que nano funcione como lo desees, prueba:

export LANG="UTF-8"

O obtenga una versión más nueva de nano través de MacPorts :

# cf. http://www.macports.org/install.php port info nano port variants nano sudo port install nano +utf8 +color +no_wrap

Con respecto a los problemas de ssh y UTF-8, comente SendEnv LANG LC_* en /etc/ssh_config .

Ver: Terminal en OS X Lion: no se puede escribir åäö en la máquina remota


Para mí, esto me ayudó: comprobé la configuración regional en el shell local en la terminal

$ locale LANG="cs_CZ.UTF-8" LC_COLLATE="cs_CZ.UTF-8"

Luego, me conecté a cualquier host remoto que estoy usando a través de ssh y edité el archivo / etc / profile como root - al final agregué la línea:

export LANG=cs_CZ.UTF-8

Después de la próxima conexión funciona bien en bash, ls y nano.


Respuesta corta y versátil (se adapta a otros idiomas nacionales, incluso lituano o ruso)

  • Terminal abierto
  • editar .profile en home direkctory - nano .profile
  • agregar export LC_ALL=en_US.UTF-8 línea export LC_ALL=en_US.UTF-8
  • presione Ctrl + x e Y (salir y guardar)

Esto me solucionó incluso los caracteres nacionales raros de países pequeños. Es posible que deba cerrar y abrir la Terminal para hacer efectivos los cambios.

Además, si le gusta el comportamiento de Linux (use muchos métodos abreviados Alt como Alt +. O Alt +, en mc), debe desactivar la función de tecla de estilo Mac: Terminal-> Preferencias-> Perfiles-> Teclado y casilla de verificación: Use Option as Meta key


Vaya a Terminal -> Preferences -> Advanced (Tab) vaya a International y seleccione Unicode (UTF-8) como Character Encoding .

Y marque Set locale environment variables on startup .