Avertissement : Cette réponse s'applique à PHP 5.3.5 et inférieur. Ne l'utilisez pas pour PHP version 5.3.6 (publiée en mars 2011) ou ultérieure.
Comparez avec la réponse de Palec ici .
Utiliser :
$pdo = new PDO(
'mysql:host=hostname;dbname=defaultDbName',
'username',
'password',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
);
Il force UTF-8 sur la connexion PDO. Cela a fonctionné pour moi.