懐かしいなこの感じ。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; }
割りとありがちっちゃありがちですけどね。