Похоже, что ошибки не существует, если вы используете новый драйвер mysqlnd в Windows. Это то, что я использую, поэтому ошибка не существует для меня. Mysqlnd также должен предлагать лучшую производительность, чем старый драйвер libmysql ...
е я использовал это как один из параметров (4-й параметр), передаваемый в конструктор PDO:
$aOptions[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES utf8";
Но только что обнаружил, что он не работает на определенных версиях php в Windows (не работает в 5.3) из-за некоторой ошибки.
Теперь мне нужно бежатьSET NAMES utf8
используя либо$pdo->exec("SET NAMES utf8");
или же$pdo->query("SET NAMES utf8");
сразу после создания объекта pdo. Итак, какой из них я должен использовать - exec () или query ()?