データベースに接続した後に
@mysql_set_charset(‘utf8′);
と書く。
<?php $dsn = "mysql:host=localhost;dbname=データベース名"; if(!$db = new PDO($dsn, "ユーザー名", "パスワード")) echo 'connnect error!<br>'; else echo 'connnect succes!<br>'; @mysql_set_charset(‘utf8′); ?>
みたい感じ。
はじめは
$db->query("SET NAMES 'UTF8'");
でやってたけど駄目だった。
これでとりあえずは文字化けしなくなった。
でも実は
Warning: mysql_set_charset() [function.mysql-set-charset]: Access denied for user 'username'@'localhost' (using password: NO) in /ディレクトリがつらつらと/db_init.php on line 7
Warning: mysql_set_charset() [function.mysql-set-charset]: A link to the server could not be established in /ディレクトリがつらつらと/db_init.php on line 7
というエラーが出る。
動くんだけどエラー出る。
使わない方がいいよね。
どうしても、という人のみ自己責任でどうぞ。
下記の参考サイトではエラー出てないみたいなんだけどなぁ。
PDOでDBにアクセスしてるからエラー出るんだろうね。
$db->query();
でUTF-8指定できるのあればそれでいけるのかな?
参考サイト
CORE SERVERでMySQLの文字化け