Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxについて >> 非UTF-8エンコードファイルを置き換える方法を見つけるためのLinuxシステム

非UTF-8エンコードファイルを置き換える方法を見つけるためのLinuxシステム

  

UTF-8は、Linuxシステムでは可変長文字Unicodeであり、UTF-8コードを使用して複数の言語をサポートできます。ただし、UTF-8でエンコードされていないファイルもありますが、現時点では、コマンドを使用して非UTF-8コードを検索および置換することができます。

始める前に、encaこのパッケージをインストールしてください。 EncaはLinuxや他のシステムでファイルのエンコーディングや変換ファイルのエンコーディングを見るためのツールです。

次のLinuxコマンドでは、現在のディレクトリのどのファイルがUTF-8でエンコードされていないかを調べることができます。ファイルにいくつかの制限を加え、findコマンドを使用するとき、すべてのディレクトリの中で.svnディレクトリを除外し、拡張子が.phpのファイルだけを探しました。

コマンド1:

jw @〜/sqlite>

find。 ! -iregex‘ * *。svn。*< type f -name‘ *。php’ -exec bash -c' enca -L zh_CN {} | Grep GB2312》 /dev /null& echo {}' \\;

./sqlite_utility.php

./sqlite_result.php

./sqlite_forge Php

./sqlite_driver.php

これらの非UTF8エンコードファイルが見つかったので、それらをUTF8エンコードに変換するコマンドを使用します。

コマンド2:

jw @〜/sqlite>

find。 -iregex‘。* \\。svn。*’ -type f -name‘ *。php’ -exec bash -c' enca -L zh_CN {} |  Grep GB2312》 /dev /null& enconv -L zh_CN -x UTF-8 {}' \\;

すべての変換を完了するためにコマンド2を使用した場合、コマンド1の出力は次のようになります。空、そしてあなたは間違っている。実際、utf8エンコーディングと英語のアルファベットのASCIIエンコーディングは同じです。すべて英字のファイルがBOMなしのUTF8で保存されると、encaはそれがACSIIエンコードファイルであることを認識します。だから、あなたはあなたが推測した、コマンド2はいくつかの無駄な仕事をした。

以上が、LinuxシステムがUTF-8でエンコードされていないファイルの置き換えを見つける方法なので、LinuxのファイルがUTF-8でエンコードされておらず他の言語を表示していないことを心配する必要はありません。

Copyright © Windowsの知識 All Rights Reserved