Heim > Artikel > Betrieb und Instandhaltung > Was tun, wenn Dateien unter Linux verstümmelt sind?
Was soll ich tun, wenn die Datei unter Linux verstümmelt ist?
Wenn ich Dateien unter Linux betreibe, stoße ich oft auf verstümmelte Zeichen. Ich habe im Internet nach Lösungen gesucht, in der Hoffnung, dass sie für alle hilfreich sind.
Wenn Sie Dateien unter Windows unter Linux bearbeiten müssen, kann es häufig zu Problemen bei der Konvertierung der Dateikodierung kommen. Das Standarddateiformat in Windows ist GBK (gb2312), während Linux im Allgemeinen UTF-8 ist.
Im Folgenden wird erläutert, wie Sie die Kodierung von Dateien überprüfen und Dateien unter Linux konvertieren.
Empfohlen: „Linux-Tutorial“
Dateikodierung anzeigen
Dateien in Linux-Kodierung anzeigen Dies kann auf folgende Weise erfolgen:
1. Sie können die Dateikodierung direkt in Vim anzeigen
:set fileencoding
, um das Dateikodierungsformat anzuzeigen.
Wenn Sie nur Dateien in anderen Kodierungsformaten anzeigen oder das Problem der mit Vim angezeigten verstümmelten Dateien lösen möchten, können Sie der Datei
~/.vimrc den folgenden Inhalt hinzufügen :
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
Auf diese Weise kann vim die Dateikodierung automatisch identifizieren (es kann automatisch UTF-8- oder GBK-kodierte Dateien identifizieren, tatsächlich wird es anhand der von fileencodings bereitgestellten Kodierungsliste versucht). Es wurde keine geeignete Kodierung gefunden. Verwenden Sie die aktivierte Latein-1-Kodierung (ASCII).
Konvertierung der Dateikodierung
1. Konvertieren Sie die Dateikodierung direkt in Vim, z. B. Konvertieren einer Datei in das UTF-8-Format
:Dateikodierung festlegen =utf-8
iconv-Konvertierung, das Befehlsformat von iconv lautet wie folgt:
iconv -f Kodierung -t Kodierung Eingabedatei
Konvertieren Sie beispielsweise ein UTF-8 kodierte Datei in GBK-Kodierung
iconv -f GBK -t UTF-8 file1 -o file2
iconv -f gbk -t utf8 linux common commands.txt > utf8
Konvertierung der Dateinamenkodierung:
Beim Kopieren von Dateien von Linux nach Windows oder von Windows nach Linux wird der chinesische Dateiname manchmal verstümmelt, was zu diesem Problem führt Der Grund dafür ist, dass die Standardkodierung für Dateinamen in Windows GBK ist, während die Standardkodierung für Dateinamen in Linux UTF8 ist. Aufgrund der inkonsistenten Kodierung ist der Dateiname verstümmelt transkodiert werden.
Unter Linux wird speziell ein Tool convmv zum Konvertieren der Dateinamenkodierung bereitgestellt. Es kann den Dateinamen von GBK in UTF-8-Kodierung oder von UTF-8 in GBK konvertieren.
Überprüfen Sie zunächst, ob convmv auf Ihrem System installiert ist. Wenn nicht, verwenden Sie:
yum -y install convmv
Installieren.
Werfen wir einen Blick auf die spezifische Verwendung von convmv:
convmv -f Quellkodierung -t neue Kodierung [Option] Dateiname
Häufig verwendete Parameter:
-r Unterordner rekursiv verarbeiten
–note Führen Sie den Vorgang wirklich aus. Bitte beachten Sie, dass der eigentliche Vorgang der Datei standardmäßig nicht ausgeführt wird nur ein test.
–Liste zeigt alle unterstützten Kodierungen an
–unescap Sie können einige Escapezeichen verwenden, z. B. %20 in ein Leerzeichen umwandeln
Zum Beispiel haben wir einen utf8-kodierten Dateinamen , Um in die GBK-Kodierung zu konvertieren, lautet der Befehl wie folgt:
convmv -f UTF-8 -t GBK –notest utf8-kodierter Dateiname
Nach dieser Konvertierung wird der „utf8-kodierte Dateiname“ angezeigt " wird in die GBK-Kodierung konvertiert (nur die Konvertierung der Dateinamenkodierung, der Dateiinhalt ändert sich nicht)
Das obige ist der detaillierte Inhalt vonWas tun, wenn Dateien unter Linux verstümmelt sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!