Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Was tun, wenn Dateien unter Linux verstümmelt sind?

Was tun, wenn Dateien unter Linux verstümmelt sind?

藏色散人
藏色散人Original
2019-11-16 09:28:033948Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn