PDOでutf8なのに文字化けした。
懐かしいなこの感じ。PHP4時代などはふつーにEUC-JPとかShift-JISが全盛だったので文字化け退治がPHPerの嗜みの様な所がありました。
MySQLのテーブルもUTF-8だし、ファイルもすべてUTF-8なのに文字化け発生。mb_convert_encodingも効かない。 どうやらPDOの接続箇所を変更すればいいらしい。
<?php
public function dbConnect() {
try{
$pdo = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'user', 'passwd',
array(PDO::ATTR_EMULATE_PREPARES => false));
} catch(PDOException $e) {
exit('mysql connect error'. $e->getMessage());
}
$pdo->query('SET NAMES utf8');
return $pdo;
}
割りとありがちっちゃありがちですけどね。