如何使PDO每次连接时运行SET NAMES UTF8,在ZendFramework中

2022-08-30 12:06:17

如何使PDO适配器每次连接时都运行SET NAMES utf8,在ZendFramework中。我正在使用 INI 文件来保存适配器配置数据。我应该在那里添加哪些条目?

如果不清楚,我正在寻找正确的语法来在我的项目的config.ini文件中执行此操作,而不是在php代码中,因为我认为这部分配置代码。


答案 1

害怕我的谷歌-福

$pdo = new PDO(
    'mysql:host=mysql.example.com;dbname=example_db',
    "username",
    "password",
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

首次命中;)


答案 2

伊泰,

一个非常好的问题。幸运的是,答案很简单:

database.params.driver_options.1002 = "SET NAMES utf8"

1002 是常量 PDO::MYSQL_ATTR_INIT_COMMAND 的值

不能在配置中使用常量.ini


推荐