日本語の文字化けを再現するツール

仕事で「文字化けしたWebページを治してくれ」ということでソースコードが来た。

エディタで開くとたしかに文字化けしている。
文字コード変換すればいいかな? と思ったが変換できない。
なんだこのファイル? と思ったら、文字化けしたまま保存されたファイルだった。
おそらく元はシフトJISだったのを誤ってUTF-8として解釈して保存されたもの。

これはダメかもわからんね・・・と思ったが、
生成AIに渡してみたらそれっぽいファイルを作ってくれた。
ChatGPTやGeminiより、Claudeが恐ろしく優秀だった。Claudeすごい。

どうやって変換したのか?聞いてみたら、類推でそれっぽいテキストを当てはめたとのこと。
なるほど。生成AIすごいなー。そしてAIにも得意・不得意があるんだな。

そしてインターネットアーカイブに文字化け前の一部のページが載ってた。
インターネットアーカイブありがたや~

Claudeの作ったものを詳しく見てみると、8~9割くらいは大丈夫そうだけどぽつぽつ間違ってる雰囲気。
インターネットアーカイブを参考に人力で修正した。

そして確認のためもう一度わざと文字化けさせてみると、部分的に「ここはちゃんと復元できてない」のがわかる。
例えば「こんにちは」の文字化けは「����ɂ���」で、「ありがとう」の文字化けは「���肪�Ƃ�」である。そうするとつまり「������」は、「ありがとう」でも「こんにちは」でもない別の何かだったものだ。
これはもうわからないから諦める。

そんな感じで「指定の文字列で文字化けを再現する」ツールが欲しくなったので作ってみた。

▶ 日本語の文字化けを再現するツール

ただ文字化けの結果は環境により様々なので、再現といってもほんの一部のパターンだけだろう。
今回自分が遭遇したパターン(シフトJISとUTF-8の誤解釈)はおなじ化け方をすることは確認したが、他の文字コードはわからないし、フォントによっても見え方が違ったりするだろう。