2007-09-04 CakePHP MySQL文字化け
文字化け対処
昨日、DBより取得したデータだけが、????に文字化けしていたので、そのときの対処方法です。
・phpinfo()で確認 ⇒ utf-8
・set_iniでutf-8にしてみる ⇒ 変化無し
・ソース内でechoであああを出力 ⇒ 文字化けしない
・set namesでDB接続時に文字コードを指定 ⇒ 直った!!!
どこかで、database.php辺りで設定したいのですが、見た限りでは、そんな項目はありません。
ソースを見ていくと、dbo_mysql.phpの109行目辺りに
if (isset($config['encoding']) && !empty($config['encoding'])) { $this->setEncoding($config['encoding']); }
いけそうですね。
なので、database.phpの設定を以下のように
var $default = array('driver'=> 'mysql',
'connect' => 'mysql_connect',
'host' => 'localhost',
'login' => 'hogehoge',
'password'=> 'hogehoge',
'database'=> 'hogehoge',
'encoding'=> 'utf8',
'prefix' => '');
'encoding'=>'utf8'を入れて見たところ、ちゃんと動くではないですか!!!!
トラックバック - http://d.hatena.ne.jp/takuya15/20070904/1189506116
リンク元
- 2 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=q7P&q=factorymethodパターン 関連パターン&btnG=検索&lr=lang_ja
- 2 http://www.google.co.jp/search?hl=ja&safe=off&rlz=1T4GFRC_ja___JP214&sa=X&oi=spell&resnum=0&ct=result&cd=1&q=DeskTop+Earth&spell=1
- 1 http://cccgrp.g.hatena.ne.jp/cvyan/
- 1 http://d.hatena.ne.jp/keyworddiary/localhost?date=20070904
- 1 http://d.hatena.ne.jp/takuya15
- 1 http://search.yahoo.co.jp/search?fr=slv1-tbtop&p=cakephp recursive
- 1 http://search.yahoo.co.jp/search?p=joost.com インストール&ei=UTF-8&fr=top_v2&x=wrt
- 1 http://www.google.co.jp/search?hl=ja&newwindow=1&q=フレームワーク+比較+ethna+cakephp&btnG=検索&lr=lang_ja
- 1 http://www.google.co.jp/search?hl=ja&q=Web MySQL 文字化け&btnG=Google+検索&lr=
- 1 http://www.google.co.jp/search?q=cakephp+mysql+utf-8&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox