[php]pearとmysqlで文字化け対策

MySQLにPEAR::DBを使用して、データ追加を行ったら、文字化けした際のメモ

MySQL:5.5
MySQLの文字セット:utf-8
さくらインターネット使用

以下、簡単なソースです

 require_once 'DB.php'; $dsn = 'mysqli://ユーザ名:パスワード@ホスト名/DB名'; $db = DB::connect($dsn); if (PEAR::isError($db)) { die($db->getMessage()); } $db->query('SET NAMES utf8'); if (PEAR::isError($db)) { die($db->getMessage()); } $table_name = 'users'; $fields_values = array( 'name' => $name, 'display_name' => $disp ); $res = $db->autoExecute($table_name, $fields_values, DB_AUTOQUERY_INSERT); if (PEAR::isError($res)) { die($res->getMessage()); } $db->disconnect();



普通のサンプルだとinsert文を使って実行しますが、autoExecの方が、挿入カラムとパラメータのマッピングが分かり易くて好きです
たまにカンマひとつズレてて、キィーーーーッ!!となりますしw

で、肝心な肝は
$db->query('SET NAMES utf8');



の部分
恐ろしくあっさりできましたけど、実に悩んだのは”utf8″というところ

最初
$db->query('SET NAMES utf-8');



って、ずっと書いてておかしいなーと思ってたんですが…

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です