Web

WordPressで文字化けしたときどうする?5つの原因と解決法

WordPressの設定を変えたり、テーマを変更したりした際に、文字化けしてしまった経験がある人もいるのではないでしょうか。WordPressサイトが文字化けする原因はいくつかありますが、いざというときに慌てないように対処法について知っておくことが大切です。文字化けを素早く解消できなければ、その間に閲覧したユーザーに不快な印象を与えてしまうだけでなく、売り上げや集客に影響する可能性もあります。この記事では、WordPressサイトが文字化けする原因やその解決法について詳しく紹介します。

文字化けとは?

ホームページを閲覧していて、意味不明の文字が並んでいるページを見かけたことがある人も多いでしょう。これが文字化けと呼ばれるものです。文字化けとは、テキスト(文字)形式のデータを読み込んで表示してはいるが、正しく表示されずに異なる文字や記号、制御文字、空白などが連なった意味不明の文字になってしまうことです。文字化けしてしまう大きな原因としては、文字コードの違いが挙げられます。日本語を表示させるための文字コードにはいくつかの種類があり、データを作成した文字コードと表示する文字コードが違っていると文字化けが起きるのです。

同じ文字コードであっても、機種依存文字を使用すると文字化けすることがあります。OSが違うと対応するフォントが存在しないため、正しく表示できないのです。このようなフォント環境の違いも文字化けが起きる原因となります。また、WordPressサイトが文字化けする原因には、WordPress独自のものもあります。たとえば、投稿した記事は正しく表示されているのにコメントが文字化けするようなこともありますし、設置した問い合わせフォームから送られたメールが文字化けするようなケースもあるのです。文字化けが起きると、データそのものが壊れてしまったのではないかと不安になることもありますが、きちんと対処すれば正しく表示させることができます。

【文字化けの原因】1.文字コードがUTF-8 じゃない

文字化けが起こる原因として多いのが、Webサイトの文字コードが「UTF-8」になっていないケースです。文字コードは、コンピュータ上で文字を利用するために、各文字に割り当てられる表現方法のことです。本来、コンピュータは「0」と「1」の2進数しか扱うことができません。この「0」と「1」を組み合わせて文字として表現するのが、文字コードです。Webサイトで使われる日本語の文字コードには、「Shift_JIS」「JIS」「UTF-8」があります。

かつては、主にShift_JISが使われていたこともありましたが、UTF-8が多言語に対応しているということもあり、WebサイトはUTF-8で作成するのが標準になっています。この文字コードが違っていると、文字化けが起こるのです。たとえば、Shift_JISで作成されたデータをブラウザ側がUTF-8で表示させようとすると、正しく表示できずに文字化けしてしまいます。ほとんどの場合、どの文字コードであってもブラウザ側で判断して正しく表示させます。

ページのhead部分に「<meta charset=”UTF-8″>」のように文字コードを指定するタグを埋め込むことで、ブラウザに正しく判断してもらう仕組みになっているのです。当然、データを作成した文字コードと指定のタグは一致していなければなりません。もし、データを作成した文字コードがShift_JISなのに、指定タグがUTF-8になっていれば、文字化けしてしまいます。そのため、文字コードUTF-8でデータを作成して、文字コードを指定するタグもUTF-8にすると、文字化けを防ぐことができます。

【文字化けの原因】2.W3 Total Cash

WordPressサイトが文字化けしてしまう原因として多いのが、プラグイン「W3 Total Cash」です。W3 Total Cashは、ページの表示速度を高速化するためのプラグインで、キャッシュやサーバーの設定を簡単に行うことができます。ページの表示速度がGoogleの検索結果に影響することもあり、利用している人が多いプラグインです。しかし、このプラグインW3 Total Cashが原因と考えられる文字化けも多数報告されています。なかにはパソコンでは正しく表示されているのに、スマートフォンやタブレットで文字化けしてしまうようなケースもあります。また、今までは問題がなかったのに、W3 Total Cashをバージョンアップした際やWordPressをアップデートした段階で文字化けが起こることもあるのです。

このようなタイミングで文字化けが起こったら、まずW3 Total Cashを疑ってみましょう。WordPressの管理画面でW3 Total Cashを停止することで文字化けが直るケースもあります。もし、W3 Total Cashを削除するのであれば注意が必要です。W3 Total Cashを削除したことによって、管理画面が真っ白になるような不具合がでることがあります。まず、W3 Total Cashの管理画面で、General Settings内のすべての「Enable」のチェックを外し、さらにMiscellaneousのすべてのチェックを外します。そのうえで、wp-content内の「cache」「w3tc」「w3tc-config」「w3-total-cache-config.php」のフォルダとファイルを削除すると、安全にW3 Total Cashを削除することが可能です。

【文字化けの原因】3.データベースのバージョンアップ

WordPressサイトの場合、データベースのバージョンアップによって記事やコメントが文字化けするケースがあります。たとえば、WordPressを最新のバージョンにすると、古いバージョンのMySQLには対応していないこともあり、MySQLのバージョンアップが必要になります。このデータベースのバージョンアップの際に正しくエクスポート・インポートしないと、文字化けの原因になるのです。もし、データベースのバージョンアップ後に記事が文字化けしていたら、phpMyAdmin上で古いMySQLが文字化けしていないか確認してみましょう。

もし、文字化けしている場合には、phpMyAdminにログインする際の文字コード指定が違っていることが考えられます。エクスポートする際に文字コードが違っていると、新バージョンのデータベースに正しくインポートすることができません。文字コードを指定せずにphpMyAdminにログインすると、文字コードがEUCになってしまうことがあります。WordPressの文字コードはUTF-8なので、UTF-8と指定してログインします。UTF-8でエクスポートされたデータを新しいデータベースにインポートすれば、文字化けは解消されるでしょう。

【文字化けの原因】4.プラグイン(WP Multibyte Patch)が有効になっていない

プラグイン「WP Multibyte Patch」が有効になっていないために文字化けが起こるケースがあります。WordPressは、世界中で利用されているオープンソースのCMSですが、それだけに英語をベースに開発されています。日本語でWordPressを利用しようとすると、英語と日本語の全角文字とではバイト数が違うため文字化けするリスクが高いのです。この文字化けを防ぐ機能を持ったプラグインがWP Multibyte Patchです。

WordPressサイトが文字化けしたら、プラグインWP Multibyte Patchがインストールされて、きちんと有効になっているかを確認しましょう。また、現在は問題がなくてもサーバー移転時などに文字化けが起こることもあるので、普段から有効にしておくのがおすすめです。WP Multibyte Patchに限らず、プラグインは常に最新のものを利用することが大切になります。古いプラグインは脆弱性の問題があったり、新しいバージョンのWordPressに対応していなかったりすることもあるので、注意が必要です。

【文字化けの原因】5.mod_rewrite が有効になっていない

WordPressサイトの場合、mod_rewriteの設定によってURLが文字化けしてしまうことがあります。mod_rewriteとは、Apacheというhttpサーバーで利用されているモジュールで、mod_rewriteを設定することでURLの書き換えやリダイレクト処理などを行うことができます。mod_rewriteを設定する方法はいくつかありますが、「.htaccess」ファイルに処理する内容を記述して使用するのが一般的です。WordPressサイトの場合は、ページに「<IfModule mod_rewrite.c>」のようなコードを記述して、パーマリンク設定をするのに用いられています。

サーバー上で、このmod_rewriteの機能が有効になっていないと、サーバーレベルでURLが文字化けしてしまうことがあるのです。WordPressがURLを正しく取得できなくなって、404 not foundページが表示される場合もあります。「.htaccess」ファイルに「RewriteEngine on」と記述すれば、そのディレクトリ内でmod_rewriteを有効にすることが可能です。URLが文字化けしてしまう、404 not foundとなってページが正しく表示されない場合は、mod_rewriteの設定をチェックしてみましょう。

【おすすめプラグイン】1.WP Multibyte Patch

WordPressの文字化けを防ぐプラグインとしては、やはり「WP Multibyte Patch」がおすすめです。WordPressでサイトを作成したら、最初にインストールすべきプラグインともいわれています。前述のように、WordPressは英語をベースに開発されています。そのため、どうしても日本語を表示させる際には、文字化けするリスクがあるのです。WP Multibyte Patchは、WordPress日本語版パッケージのためのマルチバイト機能を拡張するためのプラグインなので、文字化けのリスクを大きく下げることができます。文字化けの問題をまとめて解決できるので、欠かせないプラグインです。

WP Multibyte Patchを利用することで、さまざまな場面での文字化けを防ぐことができます。たとえば、メールフォームから送信された日本語の文字化けを防ぐ機能もあります。また、トラックバックなど他のブログサイトとやり取りした際の文字化けや添付ファイル名の文字化けを防ぐことも可能です。さらに、全角スペースを区切り文字として認識して文字化けを防ぐなどの機能も備えています。WP Multibyte Patchは、インストールして有効化するだけなので、面倒な設定も必要ありません。WordPressでサイトを運営するなら、WP Multibyte Patchを有効化して文字化けを防ぎましょう。

【おすすめプラグイン】2.WP All Import

既存サイトの記事を使ってWordPressサイトを構築する、あるいはサイトをリニューアルするような場合など、記事を一括で登録したいケースがあります。記事の数が多い場合に、いちいち管理画面から新規投稿をしたのでは手間がかかってしまうでしょう。100記事程度なら手作業でも可能でしょうが、1,000記事ともなると大変な労力が必要になります。この手間を大きく軽減できるのが、プラグイン「WP All Import」です。エクセルなどで作成した記事をCSV形式にして、一括でWordPressにインポートすることができます。WP All Importを活用すれば、作業効率を大幅に高めることができるのです。

WP All Importを使って記事をインポートする手順は下記のようになります。WP All Importをインストールして有効化したら、エクセルで記事の基本形を作ってCSV形式で保存します。WordPressにインポートする前に重要になるのが、テキストエディタでCSVファイルを開いて文字コードを変換することです。エクセルで作成したCSVファイルは、文字コードShift_JISで保存されています。しかし、WP All Importは、文字コードUTF-8のBOM無しでなければ、正しく読み込むことができません。そこで、テキストエディタでCSVファイルを開いて、文字コードを「UTF-8のBOM無し」に変換して保存します。WordPressの管理画面でWP All Importの設定画面を開き、New ImportからCSVファイルをインポートすることができます。

文字化けの原因になりうるプラグイン

インストールしたプラグインが原因となって文字化けを引き起こすことがあります。特にプラグイン「Trust Form」を利用する場合には、注意が必要です。Trust Formは、WordPressに問い合わせフォームを設置するためのプラグインで、HTMLなどのスキルがなくても簡単にフォームページが作成できます。問い合わせフォームプラグインの定番ともいえる「Contact Form 7」などと比べるとカスタマイズ性は限られますが、それだけに初心者でも設定しやすいプラグインになっています。フォームに入力された問い合わせ内容を、CSVファイルでダウンロードすることもできるので、とても便利です。

ただし、Trust Formが出力するCSVファイルは、文字コードがUTF-8になっているので注意が必要です。このCSVファイルをエクセルで読み込もうとしても、エクセルは文字コードShift-JISでないと正しく読み込むことができません。CSVファイルをテキストエディタで開いて文字コードを変換すれば、エクセルで正しく表示させることもできますが、WordPressの設定でTrust Formが出力するCSVファイルの文字コードをShift-JISに変更することも可能です。WordPressのwp-config.phpを開いて、「define( ‘TRUST_FORM_CSV_SJIS_SUPPORT’, true );」のコードを追加すると、Trust Formが出力するCSVファイルの文字コードがShift-JISになります。Trust Formを使っているなら、この方法で文字化けを防ぎましょう。

まとめ

WordPressサイトが文字化けしてしまうと、アクセス数が激減するだけでなく、サイトへの信用を落とすことにもつながります。ECサイトなど売り上げに直結するサイトであれば、致命的なことにもなりかねません。文字化けしてもすぐに対応できるように、文字化けが起こりやすい原因と対処法をしっかりと把握しておきましょう。特に、WordPressをアップデートした、データベースをバージョンアップした、新しいプラグインをインストールしたような場合は、文字化けが起こりやすくなります。

WordPressに関連する設定を変更したら、文字化けしていないかしっかりとチェックする必要があります。また、チェックする場合はパソコンだけでなく、スマホやタブレットでも確認することが大切です。

コメント

この記事へのコメントはありません。

TOP