php.iniでEUC設定してあるレンタルサーバにCakePHP1.3を導入した時のメモ
1.MySQL→UTF-8、CakePHP→UTF-8。
2.CakePHPから→MySQLへのデータ書込みで日本語文字が文字化け、MySQLに日本語データだけ登録されない状態が発生。
3.php.iniは変更不能
4..htaccessでphp_valueの指定も不能(Internal Error になる)
↓
app_controllerに以下の記述
「beforeFilter」で$this->dataの内容をutf-8に強制的にエンコードする
function esc2utf8(&$val,$key) { $val = mb_convert_encoding($val,"UTF-8","auto"); } function beforeFilter() { if($this->data){ array_walk_recursive($this->data, array($this, 'esc2utf8')); } }