En OS X Lion, LANG no está configurado en UTF-8, ¿cómo solucionarlo?


148

Intento configurar postgress en OS X Lion, y encuentro que no está configurado correctamente el entorno LOCALE var.

Esto es lo que se establece:

LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

Espero algo con UTF-8. Esta es una configuración limpia de OS X Lion, con idioma español. No muevo nada

No sé cómo configurarlo para UTF-8.

En la configuración del terminal, verifique UTF-8 y configure LOCALE en abierto, a pesar de que no funciona.


2
Eso es extraño. Debería funcionar en Terminal de forma predeterminada, suponiendo que esté utilizando el shell predeterminado (bash) y el perfil de configuración de terminal predeterminado (Básico). Tenga en cuenta que si modifica la codificación o cambia "establecer variables de entorno de configuración regional", solo surtirán efecto en los nuevos terminales, no en los que ya están abiertos.
— Chris Page

Yo uso zsh (usando el instalador oh my zsh!), Tal vez es eso?
— mamcx

Posiblemente. Intente ejecutar zsh sin ninguna configuración personalizada para ver si el problema desaparece. Use Shell> Nuevo comando para ejecutar zsh --no-rcsy zsh --no-rcs --no-global-rcsreducir el problema. Además, intente ejecutar el localecomando sin un shell a través de New Command y vea lo que informa.
— Chris Page

@ ChrisPage Tuve exactamente la misma salida que el OP, con esas configuraciones habilitadas en la Terminal. Tuve que set locale environment variablesapagar, reiniciar el terminal y luego volver a encenderlo para que aparezca el entorno adecuado.
— Chris

Hay una respuesta completa a esta pregunta en Pregunte diferente .
— Starfry

Respuestas:


311

Noté exactamente el mismo problema al iniciar sesión en servidores que ejecutan Red Hat desde una máquina OSX Lion.

Intente agregar o editar el ~/.profilearchivo para que exporte correctamente la configuración regional al iniciar una nueva sesión.

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

Estas dos líneas agregadas al archivo deberían ser suficientes para establecer la configuración regional [reemplace en_USla configuración regional deseada y compruebe de antemano que realmente está instalada en su sistema ( locale -a)].

Después de eso, puede comenzar una nueva sesión y verificar usando locale:

$ locale

El siguiente debería ser el resultado:

LANG="en_US.UTF-8"  
LC_COLLATE="en_US.UTF-8"  
LC_CTYPE="en_US.UTF-8"  
LC_MESSAGES="en_US.UTF-8"  
LC_MONETARY="en_US.UTF-8"  
LC_NUMERIC="en_US.UTF-8"  
LC_TIME="en_US.UTF-8"  
LC_ALL="en_US.UTF-8"  

2
Además, originalmente noté el problema al usar iTerm2. Esta solución alternativa parece funcionar tanto para iTerm2 como para Terminal.
— wormintrude

1
Pasé una hora buscando una solución para este asunto, muchas gracias por publicar a este hombre. Puedo confirmar que funciona tanto en Terminal como en iTerm2.
— Mariano Cavallo

77
El enlace no es válido.
— Vincent Sit

11
Tengo un .bash_profileen mi carpeta de inicio y .profileno estaba siendo fuente cuando .bash_profileestaba presente. Necesitaba .profile.bash_profile
— buscar

3
Increíble, eso fue todo, solo una nota, una vez que uses zsh, no seas tonto como yo ... la configuración que hay ~/.zshrc... bueno ahora funciona como un encanto
— Redrick

20

Recientemente tuve el mismo problema en OS X Sierra con bash shell, y gracias a las respuestas anteriores solo tuve que editar el archivo

~/.bash_profile 

y anexar esas líneas

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

1
Realmente ayuda. No tengo bash_profiley lo he creado manualmente. Y sin ponerlo exporta bash_profile, cada vez que reiniciamos el terminal, el idioma retrocederá.
— Phan Van Linh

7

Este es un rompe cabezas por mucho tiempo. Ahora veo que es OSX ... lo cambio en todo el sistema y funciona perfecto

Cuando agrego esto, el LANG en Centos6 y Fedora también es mi LANG preferido. También puede "desmarcar" la exportación o establecer la configuración regional en la configuración del terminal (OSX) / etc / profile

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


5

si tienes instalado zsh también puedes actualizar ~/.zprofilecon

if [[ -z "$LC_ALL" ]]; then
  export LC_ALL='en_US.UTF-8'
fi

y verifique la salida usando el localecmd como se muestra arriba

❯ locale                                                                                                                                           
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

0

Tuve este problema con MacOS High Sierria.

Captura de pantalla 1

Puede configurar la configuración regional y el idioma en formato UTF-8 con el siguiente comando:

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

Captura de pantalla 2

Ahora para verificar si el entorno local está actualizado, use el siguiente comando:

Locale

Captura de pantalla 3


1
¿En qué se diferencia esta respuesta en comparación con la aceptada?
— Denis V el

2
¿Cuál es el propósito de la primera foto? ¿No es lo mismo que el último?
— narengi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.