問題:
ftp を使用して Windows 上の Linux にファイルをアップロードすると、Linux システムでは中国語名が文字化けして表示されます。 Linux 環境は LANG=en_US.UTF-8 に設定され、ローカル シェル クライアント エンコーディングも UTF-8 に設定されていますが、シェル内 (または http 経由でアクセスした場合) では依然として文字化けします。
理由:
Windows のファイル名のデフォルトの中国語エンコードは GBK です。圧縮またはアップロード後もファイル名は引き続き GBK エンコードされますが、Linux のデフォルトのファイル名エンコードは UTF8 です。エンコーディングが一貫していないため、ファイル名が文字化けする問題が発生します。この問題を解決するには、ファイル名をトランスコードする必要があります。
(推奨チュートリアル: centos 使用法チュートリアル )
解決策は次のとおりです:
1. convmv
yum install convmv
2 をインストールします。転送コード
convmv -f gbk -t utf-8 -r --notest /home/wwwroot
共通パラメータの概要:
-r サブフォルダを再帰的に処理します
-notest 実際に操作を実行します。デフォルトでは、ファイルに対して実際の操作は実行されません
–リストには、サポートされているすべてのエンコーディングが表示されます。
–unescap は、スペースに変更するなどしてエスケープできます。
-i 対話モード (誤操作を防ぐために、変換ごとに確認します)
拡張機能:
Linux にはエンコーディングを変換するための便利なガジェットがたくさんあります:
テキスト コンテンツの変換: iconv
ファイル名変換: convmv
mp3 タグ変換: python-mutagen
関連ビデオ チュートリアルの推奨事項: linux ビデオ チュートリアル
以上がcentos で中国語のファイル名が文字化けする場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。