UTF-8 でエンコードされたアラビア語、英語、ロシア語のファイルがたくさんあります。Perl スクリプトを使用してこれらのファイルを処理しようとすると、次のエラーが発生します。
Malformed UTF-8 character (fatal)
これらのファイルの内容を手動で確認したところ、奇妙な文字がいくつか見つかりました。現在、これらの文字をファイルから自動的に削除する方法を探しています。
とにかくそれを行うことはありますか?
UTF-8 でエンコードされたアラビア語、英語、ロシア語のファイルがたくさんあります。Perl スクリプトを使用してこれらのファイルを処理しようとすると、次のエラーが発生します。
Malformed UTF-8 character (fatal)
これらのファイルの内容を手動で確認したところ、奇妙な文字がいくつか見つかりました。現在、これらの文字をファイルから自動的に削除する方法を探しています。
とにかくそれを行うことはありますか?
このコマンド:
iconv -f utf-8 -t utf-8 -c file.txt
無効な文字をすべてスキップして、UTF-8 ファイルをクリーンアップします。
-f is the source format
-t the target format
-c skips any invalid sequence
iconv
出来る
iconv -f cp1252 foo.txt
メソッドはバイトごとに読み取り、文字のバイト単位の構造を完全に理解し、理解する必要があります。最も簡単な方法は、UTF-8 文字のみを出力する以外は何でも読み取るエディターを使用することです。テキストパッドは 1 つの選択肢です。
cat foo.txt | strings -n 8 > bar.txt
仕事をします。