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
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.
Asegúrese de que su configuración regional esté configurada para algo que termine en
.UTF-8
. Escribalocale
y mire la líneaLC_CTYPE
. Si no dice algo comoen_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.
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íneaexport 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
.