InstantWPでhtmlentitiesを使用すると文字化けする?

PHP
この記事は約2分で読めます。

当サイトで公開している「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

コメント

タイトルとURLをコピーしました