ホームページ  >  記事  >  運用・保守  >  Linux でファイルが文字化けした場合はどうすればよいですか?

Linux でファイルが文字化けした場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2019-11-16 09:28:033900ブラウズ

Linux でファイルが文字化けした場合はどうすればよいですか?

Linux でファイルが文字化けした場合はどうすればよいですか?

Linux でファイルを操作すると文字化けがよく起こるので、皆さんのお役に立てればと思い、インターネットで解決策を探しました。

Linux の Windows でファイルを操作する必要がある場合、ファイル エンコード変換の問題が頻繁に発生することがあります。 Windows のデフォルトのファイル形式は GBK (gb2312) ですが、Linux は通常 UTF-8 です。

Linuxでファイルのエンコードを確認する方法とファイルを変換する方法を紹介します。

推奨: 「Linux チュートリアル #」

ファイル エンコーディングの表示

Linux エンコーディングでファイルの表示

1. Vim

:set fileencoding

でファイル エンコーディングを直接表示して、ファイル エンコーディング形式を表示できます。

他のエンコード形式でファイルを表示したい場合、または Vim を使用して文字化けしたファイルを表示する問題を解決したい場合は、次の内容を

~/.vimrc に追加できます。 file:

set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936

このようにして、vim はファイル エンコーディングを自動的に識別できます (UTF-8 または GBK でエンコードされたファイルを自動的に識別できます)。実際には、fileencodings によって提供されるエンコーディング リストに従って試行します。適切なエンコーディングが見つからない場合は、latin-1 (ASCII) エンコーディングをオンにして使用します。

ファイル エンコーディングの変換

1. ファイルを utf-8 形式に変換するなど、Vim でファイル エンコーディングを直接変換します。

:set fileencoding =utf-8

iconv 変換、iconv のコマンド形式は次のとおりです。

iconv -f エンコーディング -t エンコーディング inputfile

たとえば、UTF-8 を変換します。エンコードされたファイル GBK エンコードに

iconv -f GBK -t UTF-8 file1 -o file2

iconv -f gbk -t utf8 linux commonmessages.txt > linux commonmessages.txt。 utf8

ファイル名エンコード変換:

Linux から Windows に、または Windows から Linux にファイルをコピーすると、中国語のファイル名が文字化けすることがあります。その理由は、Windows のファイル名のデフォルトの中国語エンコードが GBK であるのに対し、Linux のデフォルトのファイル名のエンコードが UTF8 であるためです。エンコードが一貫していないため、ファイル名が文字化けします。この問題を解決するには、ファイル名を次のようにする必要があります。トランスコードされる。

Linux では、ファイル名エンコードを変換するツール convmv が特別に提供されており、GBK から UTF-8 エンコード、または UTF-8 から GBK にファイル名を変換できます。

まず、convmv がシステムにインストールされているかどうかを確認します。インストールされていない場合は、

yum -y install convmv

インストールを使用します。

convmv の具体的な使用法を見てみましょう:

convmv -f ソース エンコーディング -t 新しいエンコーディング [オプション] ファイル名

一般的に使用されるパラメータ:

-r サブフォルダーを再帰的に処理します

-notest 実際の操作。デフォルトでは、ファイルの実際の操作は実行されず、単に実行されるだけであることに注意してください。テスト。

–リストには、サポートされているすべてのエンコーディングが表示されます。

–unescap スペースに変換するなど、エスケープを行うことができます。

たとえば、utf8 でエンコードされたファイル名があり、 GBK エンコードに変換する場合、コマンドは次のとおりです。

convmv -f UTF-8 -t GBK –notest utf8 エンコード ファイル名

この変換後の「utf8 エンコード ファイル名」は、 GBK エンコードに変換されます (ファイル名のエンコードのみが変換され、ファイルの内容は変わりません)

以上がLinux でファイルが文字化けした場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。