Webページやファイルを開いたら、「�」や「譁�喧縺�」のような意味不明な文字の羅列になっていた——。
この現象を「文字化け」と呼びます。
一見こわいトラブルですが、原因さえ分かれば、たいていは落ち着いて直せます。
この記事では、文字化けが起きる理由と、ケース別の直し方を初心者にもわかりやすく解説します。
いきなり「�」だらけになったら、こわくて何もでけへんくなるわ…
この記事の対象読者
- Webページやファイルが文字化けして困っている方
- なぜ文字化けするのか、理由を知りたい方
- ケース別の直し方をサッと知りたい方
- そもそも文字コードって何?という方
文字化けとは?なぜ起きるのか
文字化けは、「文字コードの食い違い」によって起こります。
コンピュータは文字を数字の並びとして扱っていて、その対応ルールが「文字コード」です。
保存したときの文字コードと、開いたときに想定した文字コードが違うと、数字の読み解き方がズレて文字が壊れて見えるのです。
今の標準は「UTF-8」で、迷ったらUTF-8に統一するのが基本です。
文字コードの考え方については、こちらの記事もあわせてどうぞ。


ケース別・文字化けの直し方
①Webページが文字化けする
HTMLの文字コード指定が抜けていたり、間違っていたりするのが主な原因です。
headタグの中に、次の1行を入れて文字コードを宣言しましょう。
<meta charset="UTF-8">HTMLあわせて、ファイル自体もUTF-8で保存されているかを確認してください。
②ファイルを開くと文字化けする
テキストエディタで開いたときに化ける場合は、エンコードを指定して開き直すと直ることが多いです。
多くのエディタには「エンコードを指定して開く/保存する」機能があるので、UTF-8を選び直してみましょう。
正しく表示できたら、そのままUTF-8で保存し直すと安定します。
③CSVをExcelで開くと文字化けする
ExcelはUTF-8のCSVをうまく判別できず、化けてしまうことがあります。
対処としては、「BOM付きUTF-8」で保存するか、Excelのデータインポート機能で文字コードを指定して読み込む方法があります。
Excelでよう化けるやつ、あれ文字コードのせいやったんか…!
④データベースやWordPressで文字化けする
データベースが絡む場合は、データベース側の文字コード設定が原因のことがあります。
近年は絵文字にも対応した「utf8mb4」に統一するのが一般的です。
接続時の文字コードや、テーブルの文字コードがそろっているかを確認しましょう。
文字化けを防ぐコツ
いちばんの予防策は、関わるものすべてをUTF-8で統一することです。
ファイルの保存、HTMLの宣言、データベースの設定を、すべてUTF-8でそろえておきましょう。
途中で別の文字コードが混ざらないようにするだけで、文字化けはぐっと減ります。
まとめ
文字化けは、保存と表示で文字コードが食い違っていることが原因です。
Webなら文字コード宣言、ファイルならエンコード指定、DBなら設定確認と、ケースごとに直し方があります。
基本は「全部UTF-8にそろえる」。これを意識するだけで、多くのトラブルは防げます。
「全部UTF-8にそろえる」って覚えとくわ。これでもうこわないな、ありがとう!
よくある質問
- 「�」という記号は何ですか?
-
正しく表示できない文字の代わりに出る記号です。文字コードが食い違っているサインなので、表示側やファイルのエンコードを見直しましょう。
- UTF-8とShift_JISはどちらを使うべきですか?
-
現在の標準はUTF-8です。新しく作るものは、基本的にUTF-8で統一するのがおすすめです。古いShift_JISのファイルが混ざると、化けの原因になりやすいです。
- 一度化けたファイルは元に戻せますか?
-
正しいエンコードで開き直せば戻ることが多いです。ただし、間違った文字コードで上書き保存してしまうと戻せない場合があるため、作業前にバックアップを取っておくと安心です。
- ExcelでCSVを開くと化けるのはなぜですか?
-
ExcelがUTF-8を自動で判別できないことがあるためです。BOM付きUTF-8で保存するか、Excelのインポート機能で文字コードを指定して読み込むと解決します。
- BOMとは何ですか?
-
ファイルの先頭に付く、文字コードを示す目印のようなものです。ExcelでのCSV文字化け対策では役立ちますが、環境によっては不要な文字として悪影響が出ることもあるため、用途に応じて使い分けましょう。