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'));
}
}