当サイトで公開している「Pz-LinkCard」で、InstantWPで使用した場合に「Pz カード管理画面」で文字化けするという現象が出ました。
色々と調べてみたところ、htmlentities関数のところで文字化けしていました。
文字セットが元々のデフォルトである「ISO-8859-1」として動作しているのだと思われます。
こんな表記のままだと、
$title = htmlentities($data->title);
文字化けします。
使用する文字セットを正しく指定してあげると、
$title = htmlentities($data->title, ENT_QUOTES, 'UTF-8');
正しく表示されました。
ちなみにhtmlentities関数とほとんど同じ動作をするはずのhtmlspecialchars関数を使用した場合には、文字セットなどを指定していなくても、
$title = htmlspecialchars($data->title);
正しく表示されるようです。
一応、php.iniで「default_charset = UTF-8」を設定してみたりもしたのですが変わりませんでした。
Apatchの設定も見たのですがよく分かりませんでした。
とりあえず表示させたいだけなので、htmlentities関数からhtmlspecialchars関数に差し替えました。
次期公開バージョンではInstantWPでも文字化けされず表示できる予定です。
では、この辺で。(^-^)o
コメント