Cảnh báo: Câu trả lời này áp dụng cho PHP 5.3.5 trở xuống. Không sử dụng nó cho PHP phiên bản 5.3.6 (phát hành vào tháng 3 năm 2011) trở lên.
So sánh với câu trả lời của Palec tại đây .
Sử dụng:
$pdo = new PDO(
'mysql:host=hostname;dbname=defaultDbName',
'username',
'password',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);
Nó buộc UTF-8 trên kết nối PDO. Nó đã làm việc cho tôi.