人気ブログランキング | 話題のタグを見る
(cakePHP)MySQL保存時に文字化けしないようにする。
こちらで見つけました。

具体的には app/config/database.php で
'encoding'=>'クライアントの文字コード'
を追加してやればいいみたいです。

こうすると内部的に SET NAMES を実行してくれるっぽいです。

ちなみに、普通のPHPやクライアントから使うときは
SET NAMES utf8
というようにSET NAMESでクライアントの文字コードを指定してやればいいようです。

が、このSET NAMESは脆弱性があるらしく、PHPからの使用はあまり進められてないようです。
変わりにPHP5.2.3から新たに追加された mysql_set_charset() を使うのがよろしいみたいです。
ここら辺の脆弱製がらみの情報はこちらこちら参照にしました。

まあ、といってもcakePHPの場合 SET NAMES使ってるわけで、自力でフレームワークのコア部分直してもいいんですが、そうするとバージョンアップ等で手間だし、勉強目的なので、しばらくはこのままで行きたいと思います。
by jehoshaphat | 2008-12-04 01:51 | PHP開発 | Comments(0)


<< (cakePHP)Formヘル... (PHP)MySQLの関数を使... >>