Follow Us:

WordPress ワードプレスの文字化け対策

  •  更新日:

ワードプレスが文字化けする要因は多数有り、なかなか切り分けするのは難しいのですがここでは、原因別の文字化け対処方法を書きたいと思います。
tumblr_mhyp4r6PzB1qz7if0o1_1280

テーマファイルの文字コードがUTF8でない

よくある原因の一つに、テーマに含まれているファイルを編集して保存した際に文字コードがワードプレスの標準の物(UTF-8)と変わってしまっているというのがあげられます。
最後に編集したファイルをNotepad++等のエディタで開き、UTF8という文字コードで保存し直してアップロードしてください
下図はNotepad++で文字コードを変更する画面です。

WP Multibyte Patchをあてる

管理画面のプラグインメニューをクリックし、WP Multibyte Patchが使用中になっているか確認し、必ず使用するようにしてください。
日本語環境でワードプレスをお使いになるには必須のプラグインです。もしプラグインに「WP Multibyte Patch」が無かった場合はこちらからダウンロードし、インストール可能です。

リンクのURLが文字化け

ワードプレスのパーマリンクが文字化けしリンク先に接続できなくなる事があります。この場合の対処方法はいくつか有りますが、多くの場合は、htaccessファイルの不正です。パーマリンク設定画面から再度htaccessファイルを書き込み可にして、再設定を保存する、PHP(ワードプレスのプログラミングコード)のデフォルトの文字コードを強制的にUTF8にする等の対策が考えられます。
強制的に、UTF8に文字コードを設定するにはhtaccessファイルに下記のように記載します。

AddType "text/html; charset=UTF-8" .html .php

VPSなどの独自サーバーを使用していてmod_rewriteが有効になっていない場合

mod_rewriteというURLを書き換えるワードプレスで使用する機能が有効になっていない場合、サーバーレベルでURLが文字化けし、ワードプレスがそのURLを取得できなくなり、404 not foundにページがなる場合があります。下記のコマンドをsshで入力しmod_rewriteを有効にすることができます

sudo a2enmod rewrite

また独自サーバーの場合.htaccessによる設定変更を許可しているか確認します。apache2.confやhttpd.conf(サーバーによって場所が違います)もしくは、/etc/apache2/site-available内のdefaultのAllowOverrideをAllに変更します

変更前

 <Directory />
        Options FollowSymLinks
        AllowOverride none
</Directory>

変更後

 <Directory />
        Options FollowSymLinks
        AllowOverride All
</Directory>

apacheを再起動します

service apache2 restart

投稿やページの公開時に文字化けする

KDDIのCPIサーバー等、サーバーの文字コード自体がワードプレスの標準文字コードUTF8でない場合、投稿や固定ページの更新時に文字化けする事があります。
この場合の対処方法は、wp-adminフォルダに、php.ini(既にある場合は末尾に記載してください)ファイルをテキストで作り、下記のように記載すると文字化けが修正される事があります

default_charset = "utf-8"
mbstring.internal_encoding = UTF-8
mbstring.http_output=UTF-8
mbstring.encoding_translation = Off

また、上記と同様の設定をhtaccessファイルを編集して追加する事も可能です。ワードプレスのフォルダにあるhtaccessファイルの末尾に下記の記載を追加してみてください

php_value default_charset "UTF-8"
php_value mbstring.internal_encoding "UTF-8"
php_value mbstring.http_output "UTF-8"
php_value mbstring.encoding_translation "Off"

投稿の自動変換で文字化け

ワードプレスの投稿は強力なサニタイズ機能(データベースの書き込みの際に意味のあるコードを実行されないように様々な文字を変換)やテキストの自動整形を搭載しています。ただ、この機能が文字化けのような文字出力を発生させる事が有ります。お勧めはしませんが、例えばタイトルの文字列の自動変換を無効にするには外観→テーマの編集より functions.phpに下記のように記載します

remove_filter( ‘the_title’, ‘wptexturize’ );

wordpress 文字化け対策はワードプレスドクターにご依頼ください


関連タグ:

Wordpress ワードプレス ドクターBlog タグ一覧

© 2015-16. «WP Doctorワードプレスドクター». All right reserved.