web-dev-qa-db-ja.com

指定された文字エンコードのファイルを見つける方法は?

WindowsXPを使用しています。特定のディレクトリに対して特定の文字エンコード(UTF-8など)を持つすべてのファイルを検索するツールを探しています。あなたはそのようなツールを知っていますか?

9
Dawid Ohia

このツールはうまく機能します。見てみな。フォルダのすべてのファイルとそのエンコーディングが表示されます。

http://encodingchecker.codeplex.com/releases/view/5942

ファイルをUTF8に一括変更する場合もあります。

http://www.rotatingscrew.com/utfcast.aspx

6
mike nelson

一般に、これは不可能です。バイトオーダーマークが付いたUTF-8テキストファイルの特殊なケースを除きます。エンコーディングの名前はテキストファイルに保存されていないため、たとえば、CP850からのCP437は、特定の文字ペアの頻度などを調べて、ファイル全体の統計分析に基づいて推測することしかできません。

Solarisユーザーは auto_ef を持っていますが、私が知る限り、Windowsポートはありません。

Perlユーザーは Encode :: Guess

Wikipedia によると「unixFileコマンドの新しいバージョンは文字エンコードの基本的な検出を試みます。(cygwinとmacでも利用可能です)」

上記のいずれも100%信頼できるものではありません。あなたのファイルが確かにいくつかの既知のエンコーディングの1つにある場合、あなたはもっとうまくやれるかもしれません。

3
RedGrittyBrick

Windowsでは、ファイルがBOMで作成されていることを条件に、右の バイトオーダーマーク(BOM) を検索することでこれが可能です。

そのための検索プログラムが必要になります。
1つの可能性は Grep for Windows であり、ファイルの先頭演算子(^^)を使用して検索します。

1
harrymc