0

ファイルがあります。どのように処理されたのかわかりません。おそらく二重エンコーディングです。私の問題をほとんど解決した二重エンコーディングに関するこのリンクを見つけました:

http://www.spamusers.com/encoding.htm

次のようにするためのすべての二重エンコーディング置換があります。

À    à    Á
    Â

残念ながら、私はまだ他の奇妙なキャラクターのような:

ú
ç
ö

これらの奇妙なキャラクターをきれいにする方法についてのアイデアはありますか? 私が知っているものについては、bashスクリプトを作成したばかりで、それらを置き換えたばかりです。しかし、私は他の人を認識する方法がわかりません。私は Linux で実行しているので、魔法のコマンドがあれば教えてください。

4

1 に答える 1

0

リンク先の「二重エンコーディング置換」ページには、二重に UTF-8 でエンコードされた文字データを修正するためのマッピングが含まれているようです。したがって、適切な修正ルーチンは、そのようなマッピングを逆にして、結果が意味を成すかどうかを確認することです。

たとえば、A にアクセント記号を付けて À、U+00C0、および UTF-8 でエンコードすると、バイト C3 A0 が得られます。たとえば、これらが windows-1252 に従って 1 バイト エンコーディングとして誤って認識されると、文字 U+00C3 U+00A0 (文字 à と改行なしのスペース) が得られます。これらを UTF-8 でエンコードすると、前者は C3 83、後者は C2 80 になります。これらのバイトが windows-1252 に従って解釈されると、ページのように À が得られます。

でも、実は「À」はありませんよね?windows-1252に従って解釈すると、そのように表示されるデジタルデータ、バイトがあります。しかし、それは間違った解釈でしょう。

最初にデータを UTF-8 エンコードとして読み取り、それを文字にデコードし、すべてのコードが 100 未満の 16 進数であることを確認し (そうでない場合は、別のエラーがどこかに関係しています)、UTF-9 を再度デコードする必要があります。

于 2012-05-28T10:49:47.857 に答える