一括してファイルの文字コードを検出する方法

Windows環境でファイルを操作し、Linux環境へファイルをアップロードする時に
意図せず、Shift_JIS ファイルをアップして文字化けしてしまったことありませんか?
実行時に簡単に分かる箇所ならテストすれば気がつきますが
アスキーコードだけで書かれた関数やクラスのファイルだったりすると、
エンコード問題が出ることは少ないので見落としがちです。

いちいちファイルを開いて確認するのは大変なので、一括して文字コードを確認する方法がないかと調べていたらありました。

以下のコマンドでOK。

find -name '*.php' | xargs nkf --guess

ファイル名と文字コードの一覧が表示されます。


ちなみに、一括して文字コードを変換することもできます。

# UTF-8 に変換
find -name '*.php' | xargs nkf --overwrite -w 

# EUC-JP に変換
find -name '*.php' | xargs nkf --overwrite -e


【参考】 文字コード変換コマンドnkfの使い方まとめ