WordPressで文字化けする原因と対処法|管理画面・絵文字・PDF・メール
直らないときは、無料でご相談いただけます(直らなければ料金はいただきません)。
結論:文字化けは、文字を保存したときと読むときの文字コード(文字を数字に置き換える決まり)の食い違いや、保存先で扱えない文字などが原因で起こります。WordPressの標準は、データベースもページも UTF-8(データベースは utf8mb4)です。
まず、どこが文字化けしているか(サイト全体・テーマやプラグインの一部・絵文字だけ・ファイル名・メール・CSV)と、どう化けているかを見ると、原因の見当がつきます。文字化けしたまま記事を上書き保存しないことも大切です。
目次
どこが文字化けしているかで見分ける
| 文字化けしているところ | 考えられること | 確かめるところ |
|---|---|---|
| サイト全体や、管理画面の記事の一覧・本文が、引っ越しの後から化けている | データベースを移したときの文字コードの食い違い | サイト全体が化けるとき(引っ越しの後など) |
| 記事の中身は正しいのに、管理画面のメニューやボタン、テーマやプラグインが出している決まった文字だけが化ける | 直前に編集したファイルが UTF-8 以外で保存された、翻訳のファイルやプラグインの不具合など | テーマ・プラグイン・管理画面の一部だけが化けるとき |
| 絵文字だけが「?」になる・消える | 保存先が絵文字を扱えない文字コードになっている | 絵文字だけが化けるとき |
| 画像やPDFのファイル名、そのアドレスが読めない | 日本語のファイル名の扱い | ファイル名(画像・PDF)が化けるとき |
| 開いたPDFの中の文字が化ける | PDFの作り方(フォント) | PDFの中身が化けるとき |
| お問い合わせのメールだけが化ける | メールの送り方や、受け取る側の表示 | お問い合わせのメールが化けるとき |
| ダウンロードした CSV を Excel で開くと化ける | Excel が UTF-8 として読んでいない | CSV を Excel で開くと化けるとき |
化け方で見当をつける
「こんにちは」が化けた場合の例です。化け方は、元の文字や環境によって変わります。
| 見え方の例 | 考えられること |
|---|---|
| 「ã“ã‚“ã«ã¡ã¯」のように「ã」「â」「æ」などが並ぶ | UTF-8 の文字を、欧米向けの文字コードとして読んでいる、または、その形でデータベースに入ってしまっている |
| 「縺薙s縺ォ縺。縺ッ」のように「縺」「繧」などの漢字が並ぶ | UTF-8 の文字を、Shift_JIS(Windowsで使われてきた日本語の文字コード)として読んでいる。CSV やメールで見かける形です |
| 「�」(ひし形の中に「?」)が並ぶ | UTF-8 として読もうとしたが、読めない形の文字が入っていた(Shift_JIS で保存したファイルなど) |
| 「?」に置き換わっている | 保存や変換のときに、その文字を扱えずに「?」へ置き換えられた可能性があります。その場合、置き換わった文字は元に戻せないことがあります |
| アドレスの中の「%E8%A6%8B%E7%A9%8D…」 | 日本語をアドレスに使える形に置き換えたもので、文字化けではありません(下のファイル名) |
作業の前に確かめること
- 文字化けした記事を上書き保存しない:化けた文字のまま保存すると、その形でデータベースに残ります。直す前の状態を残しておくほうが、あとで戻しやすくなります。
- バックアップ:ファイルとデータベースのバックアップがあるかを確かめます(更新の前に確かめること)。引っ越しの後なら、引っ越し前のサイトやデータベースの写しが残っているかも確かめます。
- いつから・直前の作業:サーバーの引っ越し、データベースの書き出しと読み込み、テーマやプラグインのファイルの編集、プラグインの追加などをしていないかを思い出しておきます。
- ブラウザのキャッシュ:直した後も変わらないときは、ブラウザやキャッシュのプラグインに古い表示が残っていることがあります(表示されないときの記事の「直したのに表示が変わらないとき」)。
サイト全体が化けるとき(引っ越しの後など)
サイトの引っ越しで、データベースを書き出して読み込むときに、文字コードの指定が食い違うと、記事や設定の文字がまとめて化けることがあります。
- 引っ越し前のサイトでは化けていなかったか:引っ越し前のサイトやデータベースの写しが残っていれば、そちらが化けていないかを確かめます。化けていなければ、写しから移し直す方法がとれることがあります。
- サイトヘルスの「情報」を見て、値を控える:「ツール」→「サイトヘルス」→「情報」の「データベース」の中の「データベースの文字セット」と、「WordPress 定数」の中の「DB_CHARSET」を控えます(サイトヘルスの記事の「「情報」タブの使い方」)。WordPressの見本の設定では「utf8mb4」です。ただ、値が違っていても、それだけで異常とは決められません。「データベースの文字セット」は、WordPressがデータベースとやり取りするときの文字コードで、記事が保存されている場所の文字コードとは別のこともあります。
wp-config.phpのDB_CHARSET:引っ越しの前後で、この設定を変えていないか、空にしていないかを確かめます。すでにデータベースに入っている文字は、この設定を変えるだけでは直らないこともあり、変え方によってはかえって化けることもあります。ここでは値を控えるところまでにして、変えるときは、引っ越しの前の値と見比べてから、バックアップがあることを確かめて進めます。- 引っ越しに使った方法を確かめる:引っ越しのプラグインやサーバー会社の移行の機能を使った場合は、その案内に文字コードの注意が書かれていないかを確かめます(引っ越しの流れは引っ越しの記事)。
データベースの中の文字を直す作業は、やり方を誤ると、さらに化けたり、元に戻せなくなったりすることがあります。写しから移し直せないときは、無理に進めず、ご相談ください。
テーマ・プラグイン・管理画面の一部だけが化けるとき
記事の本文は正しく出ているのに、決まった場所の文字だけが化ける場合は、まず、化けているのが記事などに自分で入れた文字か、テーマやプラグイン、管理画面が出している決まった文字(メニューやボタンの名前など)かを見分けます。決まった文字だけなら、次を確かめます。
- 直前に編集したファイルが無いか:パソコンでテーマのファイル(
functions.phpなど)を編集して戻した場合は、そのファイルに直接書いた文字が、UTF-8 以外の形(Shift_JIS など)で保存されていることがあります。そのファイルから確かめます。 - 保存の形式を確かめる:テキストエディターで開き、保存の形式が「UTF-8」になっているかを見ます。「UTF-8(BOM付き)」で保存すると、文字化けではなく「headers already sent」の警告などが出ることがあります(headers already sent の記事の「ファイルの最初と最後を確かめる」)。
- 書き換える前のファイルに戻す:編集する前のファイルの写しがあれば、それに戻して確かめます。写しが無い場合は、文字化けしたまま保存し直さず、ご相談ください。
- テーマやプラグインを更新した直後なら:更新した後から化けた場合は、作者のサポートや更新の情報も確かめます。
- 管理画面のメニューやボタンが化けるとき:「ダッシュボード」→「更新」に「翻訳を更新」が出ていれば、更新して確かめます。特定のプラグインの画面だけで化ける場合は、そのプラグインの作者のサポートも確かめます。
絵文字だけが化けるとき
データベースの文字コードが古い「utf8」(utf8mb3)だと、多くの絵文字は、そのままでは保存できません。utf8mb4 なら保存できます。
- WordPress本体には、記事の題・本文・抜粋を保存するとき、保存する場所が古い「utf8」なら、絵文字を別の書き方に置き換えて保存する仕組みがあります。
- プラグインが自分で保存している文字(フォームの入力など)では、絵文字が「?」になったり、消えたりすることがあります。
- サイトヘルスの「情報」で、「データベースの文字セット」が「utf8mb4」かを確かめます。「utf8」のときは、データベースを utf8mb4 に変える作業が必要になることがあります。「utf8mb4」と出ていても、古くからある表(テーブル)だけが「utf8」のまま残っていることもあります。データベースの作業になるため、バックアップを取ってから、サーバー会社の案内に沿って進めるか、ご相談ください。
ファイル名(画像・PDF)が化けるとき
WordPressは、日本語のファイル名のままでもアップロードできます。そのままアップロードすると、ファイルのアドレスは「%E8%A6%8B%E7%A9%8D%E6%9B%B8.pdf」のような形で表示されることがあります。これは日本語をアドレスで使える形に置き換えたもので、ブラウザで開けていれば、文字化けではありません。
- ダウンロードしたPDFの名前が化ける・ファイルが開けない:日本語のファイル名は、ブラウザやパソコン、サーバーの引っ越しなどの途中で、正しく扱われないことがあります。これからアップロードするファイルは、英数字の名前(例:
estimate-2026.pdf)にしておくと、こうしたことが起きにくくなります。 - すでに載せているファイル:名前を変えると、記事の中のリンクや画像のアドレスも変わります。英数字の名前でアップロードし直し、記事の中のリンクを差し替えます。古いアドレスが、ほかのサイトや送ったメールなどで使われていることもあるため、元のファイルは残したままにしておくと安心です。
PDFの中身が化けるとき
ファイル名ではなく、開いたPDFの中身が化ける場合は、PDFの作り方(文字の形の情報=フォントが入っているか)が関係していることがあります。パソコンに保存して別のソフトで開いても化けるかを確かめ、化ける場合は、PDFを作ったソフトで、フォントを含めて作り直すと直ることがあります。
お問い合わせのメールが化けるとき(Contact Form 7 など)
WordPress本体の送り方では、メールはふつう、サイトの文字コード(UTF-8)で送られます(プラグインが変えていることもあります)。メールだけが化ける場合は、次を確かめます。
- どのメールが化けるか:お問い合わせの通知だけか、自動返信もか、WordPressのほかのメール(パスワードの再設定など)もかを見ます。
- メールのどこが化けるか:件名・本文・差出人の名前のどこか、また、フォームの設定に書いた決まった文か、お客様が入力した内容かを見ます。
- 受け取る側で化けているか:同じメールを、別のメールソフトやスマートフォンで見て、化け方が変わらないかを確かめます。ある一つのソフトだけで化ける場合は、そのソフトの文字コードの設定も確かめます。
- メールの送り方を変えるプラグイン:SMTPなどでメールを送るプラグインを使っている場合は、その設定や更新の情報も確かめます。
メールが届かない場合は、Contact Form 7のメールが届かないときの記事をご覧ください。
CSV を Excel で開くと化けるとき
プラグインから書き出した CSV が UTF-8 で作られていると、Excel でそのまま開いたときに、「縺」などの字が並んで化けることがあります。文字コードを指定して読み込むと、正しく表示できる場合があります。元の CSV は、上書き保存せずに残しておきます。
- Excel の「データ」タブの「テキストまたは CSV から」で読み込み、出てくる画面で文字コードに「UTF-8」を選ぶと、正しく読めることがあります(画面の表示は、Excel の版によって違います)。
- プラグインによっては、書き出すときに文字コードや「Excel 向け」を選べることがあります。プラグインの設定や案内を確かめます。
直った後に確かめること
- トップページ、記事、固定ページ、管理画面の一覧で、文字がふだんどおりに出ているか
- 新しく下書きを作り、日本語や絵文字を入れて保存したときに化けないか(確かめた下書きは消します)
- お問い合わせフォームから試しに送り、通知と自動返信のメールが化けていないか
自分で進めるのが難しいとき
次のような場合は、無理に作業を進めず、ご相談ください。
- 引っ越しの後からサイト全体が化けていて、引っ越し前の写しが無い
wp-config.phpやデータベースの設定を触ってよいか判断がつかない- どのファイルが原因か分からない
- 化けた記事を上書き保存してしまった
WP-ingでは、WordPressの不具合の修理を承っています。状況を確かめて、作業の前に料金をご案内します。直らなければ料金はいただきません。お支払いは、直ったことを確かめていただいてからです。
よくある質問
自分のパソコンだけで化けているのか、確かめる方法はありますか?
別のブラウザや、スマートフォンでも同じページを開いてみます。どれでも同じように化けていれば、サイト側の原因が考えられます。一つのブラウザだけで化ける場合は、そのブラウザのキャッシュや拡張機能も確かめます。
「utf8mb4_general_ci」「utf8mb4_unicode_520_ci」などの違いで、文字化けしますか?
うしろの「general_ci」「unicode_520_ci」などは、照合順序(文字を比べたり並べ替えたりするときの決まり)です。違いがあるだけで、文字化けの原因とは決められません。文字化けに関わるのは、前の「utf8mb4」「utf8」などの文字コードのほうです。
「表示設定」に文字コードの設定はありますか?
WordPressの文字コードが UTF-8 のときは、「設定」→「表示設定」に、文字コードの欄は出ません。UTF-8 以外になっている場合だけ、「ページとフィードの文字セット」の欄が出ます。この欄が出ている場合は、変える前に、ご相談先に確かめると安心です。