Sto cercando di capire come $LANG
si comporta la variabile con gnome-terminal (e la sua opzione di preferenza per la codifica dei caratteri). Ho usato iso8859-1 (latin1) come set di caratteri principale e tutti i miei nomi di file sono codificati come tali.
Per i seguenti test farò ls -l
una directory con caratteri accentati spagnoli nei loro nomi di file:
Caso 1:
- gnome-terminal configurato per ISO-8859-1
LANG
impostato su "en_US-iso8859-1"- Risultato: vedo tutti i file correttamente
Caso n. 2:
- gnome-terminal configurato per UTF-8
LANG
impostato su "en_US-iso8859-1"- Risultato: vedo personaggi spazzatura per tutti i personaggi spagnoli. Questo è previsto quando ho cambiato la codifica dei caratteri per il terminale
Caso n. 3:
- gnome-terminal configurato per ISO-8859-1
LANG
impostato su "en_US-UTF-8"- Risultato: vedo personaggi spazzatura per tutti i personaggi spagnoli.
Perché in questo ultimo caso vedo personaggi confusi? L'output di ls non dovrebbe inviare i nomi dei file direttamente a gnome-terminal così come sono? E poiché gnome-terminal è configurato per ISO-8859-1, mi sarei aspettato che sembrassero giusti.
Per un momento ho pensato che forse bash sta prendendo in considerazione la mia $LANG
variabile e sta eseguendo una conversione. Poi ho cambiato il mio terminale in UTF-8 ma non riesco ancora a vedere i personaggi giusti. Ho persino reindirizzato l'output di ls a xxd e con mia sorpresa vedo ancora i file codificati così come sono: ISO-8859-1.
Per concludere: se il mio elenco contiene caratteri ISO-8859-1 e il mio emulatore di terminale è configurato per la stessa codifica dei caratteri: chi sta facendo la conversione quando LANG
è impostato diversamente?
Grazie per tutto l'aiuto che potete fornire.
Craconia