どうぐばこノート

文字化けとは

文字化けは、保存したときと読むときで文字コードが違うと起こります。下の欄に文字を入れると、文字コードごとのバイト列を見られます。

文字コードバイト数バイト列(16進数)

入れた文字はこのページの中だけで調べ、どこにも送信しません。

同じ文字でもバイト列は違う

文字UTF-8Shift_JISEUC-JPISO-2022-JPwindows-1252
あE3 81 8282 A0A4 A21B 24 42 24 22 1B 28 423F
漢E6 BC A28A BFB4 C11B 24 42 34 41 1B 28 423F
A4141414141
アEF BD B1B18E B11B 24 42 25 22 1B 28 423F

バイト列は16進数。ISO-2022-JP は切り替えの記号(1B 24 42 など)を含みます。このページのツールと同じ変換で作っています。

文字化けのしくみ

文字化けとは、画面に出るはずの文字が、読めない別の文字や記号に置き換わって表示されることです。コンピューターは文字を数字の並び(バイト列)として保存していて、どの数字がどの文字かを決めた約束を文字コードといいます。保存したときと読むときで違う文字コードを使うと、同じバイト列が別の文字として読まれ、文字化けになります。

たとえば「あ」は、UTF-8では E3 81 82 の3バイト、Shift_JISでは 82 A0 の2バイトです。UTF-8で保存した「あ」をShift_JISのつもりで読むと、E3 81 が1つの漢字に、82 が次の文字の頭として読まれ、まったく別の文字になります。上の欄に文字を入れると、文字コードごとのバイト列を確かめられます。

なぜ起こるのか

文字化けが起こるのは、ファイルやメールそのものに「この文字コードで読んでください」という情報がないか、あっても読む側が無視したときです。よくあるのは次のような場面です。

Webページについては、HTMLの決まり(WHATWG HTML)で、文字コードは UTF-8 にすること、宣言はページの先頭から1024バイトの中に書くことが定められています。宣言が遅れたり抜けたりすると、ブラウザが推測で読むことになり、化ける原因になります。

UTF-8とShift_JIS

UTF-8は世界中の文字を1つの約束で表せる文字コードで、いまのWebやスマートフォンではほとんどがUTF-8です。Shift_JISはWindowsで長く使われてきた日本語の文字コードで、Microsoftのコードページの一覧では 932 の番号が付いています。ブラウザの決まり(WHATWG Encoding Standard)では、「windows-31j」や「ms932」という名前もShift_JISと同じものとして扱います。EUC-JPは古いUnix系のシステムで、ISO-2022-JP(JISコード)は昔のメールでよく使われました。

環境依存文字と表せない文字

①や㈱のような記号、髙(はしごだか)のような漢字は、文字コードや機種によって入っていたりいなかったりするため、環境依存文字(機種依存文字)と呼ばれます。Shift_JISにない文字(絵文字や𠮷など)をShift_JISで保存しようとすると、その文字は「?」に置き換わり、あとから元に戻せません。UTF-8ならこうした文字もすべて表せます。

英語では何と言うか

英語でも、日本語の読みのまま「mojibake」と書かれることがあります。ただ、2026年10月24日に Merriam-Webster、Oxford English Dictionary、Cambridge Dictionary、Oxford Learner's Dictionaries を引いたところ、どれにも「mojibake」の見出しはありませんでした。辞書の言葉で説明するときは、garbled text(化けた文字列)や garbled characters のように言い表すと伝わりやすくなります。

化けた文字を直すには

化けたものを正しく読み直すには、元の文字コードで開き直すのがいちばん確実です。手元に化けた文字しかないときは、文字化け変換・復元ツールに貼り付けると、どの食い違いで化けたかを探して元に戻します。出てくる文字から原因を探したいときは文字化けの一覧を見てください。

確認した資料

確認日 2026-10-24。文字コードの変換は WHATWG Encoding Standard の表(index ファイル、2024年9月18日版)をそのまま使っています(ライセンス文)。