我曾经把它作为传递给PDO构造函数的选项之一(第4个参数):
$aOptions[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES utf8";
Run Code Online (Sandbox Code Playgroud)
但是刚发现由于某些bug,它在Windows上的某些php版本上无效(在5.3中不起作用).
现在我需要运行SET NAMES utf8任何一个$pdo->exec("SET NAMES utf8");
要么 $pdo->query("SET NAMES utf8");
在实例化pdo对象之后.那么,我应该使用哪一个 - exec()或query()?