
Ich habe eine neue Ubuntu Server 16.04-Installation und teste jetzt, wie sie mit Unicode-Zeichen umgeht:
- Ich habe einen Dateinamen, der ein Unicode-Zeichen enthält:
testā.txt
. Wenn ich ihn mit einem Tabulator aufnehme, also$ rm tes[tab]
, wird dem Befehl ein korrekter Dateiname entnommen. - Wenn ich das tue
$ ls
, sehe ichtest??.txt
in der Dateiliste - Wenn ich dem Dateiinhalt mit Unicode-Zeichen hinzufüge
$ echo āāā > test.txt
und dann ausführe$ cat test.txt
, erhalte ich die korrekte Ausgabe. - Wenn ich die Datei jedoch im Nano-Editor öffne, sieht der Inhalt folgendermaßen aus:
^ ^ ^
. - Der Hex-Dump
$ xxd test.txt
zeigt, dass die Unicode-Zeichen korrekt in der Datei gespeichert sind:c481 c481 c481 0a
Das von mir verwendete Terminalprogramm (Guake) hatte nie Probleme mit Unicode-Zeichen. In einer typischen lokalen Terminalsitzung gibt es keines der oben beschriebenen Probleme.
Anrufen env | sort | grep -E '^(LANG(UAGE)?|LC_\w*)='
gibt
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ADDRESS=lv_LV.UTF-8
LC_IDENTIFICATION=lv_LV.UTF-8
LC_MEASUREMENT=lv_LV.UTF-8
LC_MONETARY=lv_LV.UTF-8
LC_NAME=lv_LV.UTF-8
LC_NUMERIC=lv_LV.UTF-8
LC_PAPER=lv_LV.UTF-8
LC_TELEPHONE=lv_LV.UTF-8
LC_TIME=lv_LV.UTF-8
Kann dies mit den Gebietsschemaeinstellungen des Servers behoben werden? Oder gibt es einen Parameter, den ich beim Starten der SSH-Sitzung verwenden sollte?