まだ、PEARのHTML_QuickFormを使っているサイトがいくつか残っていてそのサーバを変えるということでPHP5.5対応しなければならなくなった。
phpとかDBがutf8で動いていたら問題ないんだけど、10年以上前のサイトで文字コードはEUC-JP。
全部作り変えるのは予算・時間的に無理なので少しだけ修正して対応。
問題点:フォームに日本語が表示されない
htmlspecialcharsがPHP5.4からパラメータが変わった模様。
htmlspecialcharsで変換した結果、空文字列になってしまっている。
というわけで、今回問題があったテキスト入力のフォームのファイル2つにちょこっと手を入れる。
pear/HTML/QuickForm/element.php
pera/HTML/QuickForm/textarea.php
この2ファイルの、「htmlspecialchars($value)」のように引数1つだけを渡している部分を、
$charset = HTML_Common::charset();
htmlspecialchars($value, ENT_COMPAT, $charset)
のような感じに修正。
ずいぶん前からQuickForm2を使えといわれておりますが対応できておりません。
そのうちFuelで書き直す。
2014年6月6日金曜日
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿