PHP5.4におけるhtmlspecialcharsの後方互換性について
Posted: 2013年8月23日(金) 18:44
PHP 5.4からhtmlspecialcharsのデフォルト文字コードがlatin-1(ISO-8859-1)からUTF-8に変わった影響で、編集フォームの表示が消えるという問題が発生しているようです。
以下が問い合わせの原文です
allerbest
in manager/actions/mutate_content.dynamic.php line 737 says:
but since PHP 5.4 htmlspecialchars no longer defaults to ISO-8859-1, but to UTF-8.
and this means: the function returns an empty return in my case (since I use ISO-8859-1)
and this breaks _all_ manager functions
better:
I'm not familiar with MODx bug stuff - where to put this?
原文以上
彼はhtmlspecialcharsの後方互換性を維持する形で回避するべきだと主張していますが、こういう話は本家フォーラムの方が適切でしょうか?(とりあえずBTSに登録しておくことをお勧めしました)
参考:
encoding
変換に使用されるエンコーディングを指定します。 省略した場合のデフォルト値は、PHP 5.4.0 より前のバージョンでは ISO-8859-1、そして PHP 5.4.0 以降では UTF-8 となります。 ― htmlspecialchars(PHPマニュアル)
http://php.net/manual/ja/function.htmlspecialchars.php
以下が問い合わせの原文です
allerbest
in manager/actions/mutate_content.dynamic.php line 737 says:
コード: 全て選択
<?php echo htmlspecialchars(stripslashes($content['introtext']))?></textarea>
and this means: the function returns an empty return in my case (since I use ISO-8859-1)
and this breaks _all_ manager functions
better:
コード: 全て選択
htmlspecialchars($content['content'],ENT_COMPAT,"ISO-8859-1")
原文以上
彼はhtmlspecialcharsの後方互換性を維持する形で回避するべきだと主張していますが、こういう話は本家フォーラムの方が適切でしょうか?(とりあえずBTSに登録しておくことをお勧めしました)
参考:
encoding
変換に使用されるエンコーディングを指定します。 省略した場合のデフォルト値は、PHP 5.4.0 より前のバージョンでは ISO-8859-1、そして PHP 5.4.0 以降では UTF-8 となります。 ― htmlspecialchars(PHPマニュアル)
http://php.net/manual/ja/function.htmlspecialchars.php