Estoy tratando de aprender cómo se $LANG
comporta la variable con gnome-terminal (y su opción de preferencia de codificación de caracteres). He estado usando iso8859-1 (latin1) como mi conjunto de caracteres principal y todos mis nombres de archivo están codificados como tales.
Para las siguientes pruebas, haré ls -l
un directorio con caracteres acentuados en español en sus nombres de archivo:
Caso 1:
- terminal gnome configurado para ISO-8859-1
LANG
establecido en "en_US-iso8859-1"- Resultado: veo todos los archivos correctamente
Caso # 2:
- terminal gnome configurado para UTF-8
LANG
establecido en "en_US-iso8859-1"- Resultado: veo caracteres basura para todos los caracteres españoles. Esto se espera cuando cambié la codificación de caracteres para el terminal
Caso # 3:
- terminal gnome configurado para ISO-8859-1
LANG
establecido en "en_US-UTF-8"- Resultado: veo caracteres basura para todos los caracteres españoles.
¿Por qué es que en este último caso veo personajes confusos? ¿No debería la salida de ls enviar los nombres de archivo directamente a gnome-terminal tal como están? Y dado que gnome-terminal está configurado para ISO-8859-1, hubiera esperado que se vean bien.
Por un momento pensé que, tal vez, tal vez bash esté considerando mi $LANG
variable y realizando alguna conversión. Luego cambié mi terminal a UTF-8 pero todavía no puedo ver los caracteres correctamente. Incluso canalicé la salida de ls a xxd y para mi sorpresa, todavía veo los archivos codificados como están: ISO-8859-1.
Para concluir: si mi listado contiene caracteres ISO-8859-1 y mi emulador de terminal está configurado para la misma codificación de caracteres: ¿Quién está haciendo la conversión cuando LANG
se establece lo contrario?
Gracias por cualquier ayuda que usted nos pueda proporcionar.
Craconia