93

UTF-8 でエンコードされたアラビア語、英語、ロシア語のファイルがたくさんあります。Perl スクリプトを使用してこれらのファイルを処理しようとすると、次のエラーが発生します。

Malformed UTF-8 character (fatal)

これらのファイルの内容を手動で確認したところ、奇妙な文字がいくつか見つかりました。現在、これらの文字をファイルから自動的に削除する方法を探しています。

とにかくそれを行うことはありますか?

4

5 に答える 5

175

このコマンド:

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
于 2013-06-11T15:51:45.607 に答える
0

iconv 出来る

iconv -f cp1252 foo.txt
于 2012-12-08T04:50:33.283 に答える
0

メソッドはバイトごとに読み取り、文字のバイト単位の構造を完全に理解し、理解する必要があります。最も簡単な方法は、UTF-8 文字のみを出力する以外は何でも読み取るエディターを使用することです。テキストパッドは 1 つの選択肢です。

于 2013-02-04T12:15:20.150 に答える
-4
cat foo.txt | strings -n 8 > bar.txt

仕事をします。

于 2013-10-29T15:32:06.533 に答える