Aufgrund des umfangreichen Dateiaustauschs zwischen Windows ( GBK- Codierung) und Linux ( UTF-8- Codierung) kann es leicht zu Problemen bei der Zeichencodierung kommen, z.
- zip / tar-Dateien, deren Name unter Windows chinesische Zeichen enthält, entpacken / entpacken Sie sie unter Linux.
- Führen Sie eine migrierte ältere Java-Webanwendung aus (entwickelt auf einem Windows-System mit GBK-Codierung in JSP), die mit GBK-Codierung benannte Dateien auf die Festplatte schreibt.
- FTP holt / legt Dateien mit GBK-Kodierung zwischen dem Windows-FTP-Server und dem Linux-Client ab.
- LANG-Umgebung unter Linux wechseln.
Das häufigste Problem der oben genannten sind das Suchen / Benennen von Dateien. Nach gegoogelt, ich einen Artikel bekam Verwendung von Unicode in Linux http://www.linux.com/archive/feed/39912 , hieß es:
Das Betriebssystem und viele Dienstprogramme erkennen nicht, für welche Zeichen die Bytes in den Dateinamen stehen.
So ist es möglich, 2 xt .txt-Dateien mit unterschiedlicher Kodierung zu haben:
[root@fedora test]# ls
???? 中文
[root@fedora test]# ls | iconv -f GBK
中文
涓iconv: illegal input sequence at position 7
[root@fedora test]# ls 中文 && ls $'\xd6\xd0\xce\xc4'|iconv -f gbk
中文
中文
Fragen:
- Ist es möglich, das Linux-Dateisystem mit fester Zeichenkodierung zu konfigurieren (wie NTFS intern UTF-16 verwenden), um Dateinamen unabhängig von der LANG / LC_ALL-Umgebung zu speichern?
- Oder, was ich eigentlich fragen möchte, ist: Ist es möglich, den Dateinamen 中文 .txt (
$'\xe4\xb8\xad\xe6\x96\x87.txt'
) in der Umgebung von zh_CN.UTF-8 und den Dateinamen 中文 .txt ($'\xd6\xd0\xce\xc4.txt'
) in der Umgebung von zh_CN.GBK auf dieselbe Datei zu verweisen ? - Wenn es nicht konfigurierbar ist, ist es dann möglich, den Kernel zu patchen, um die Zeichenkodierung zwischen Dateisystem und aktueller Umgebung zu übersetzen (nur eine Frage, keine Implementierung anfordern)? und wie viel leistung wirkt sich aus, wenn es möglich ist?