【发布时间】:2016-11-21 17:01:33
【问题描述】:
我正在寻找一种使用 UTF8 字符集连接到 postgresql 数据库的方法。
目前,我必须在连接后发送查询请求以指定字符集。这根本不是最优的......
$connect = new \PDO("pgsql:host=$this->host;dbname=$this->base", $this->user, $this->pass);
$connect->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
$connect->query("SET NAMES '$this->charset'");
MySQL 允许在参数上传递一个表来指定字符集,我正在寻找同样的东西。
$this->db = new \PDO("pgsql:host=$this->PARAM_hote;dbname=$this->PARAM_nom_bd", $this->PARAM_utilisateur, $this->PARAM_mot_passe, array(\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''));
$this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
【问题讨论】:
-
您是否尝试过在连接字符串中使用
charset=CHARSET_HERE?类似...dbname=SOME_DB;charset=SOME_CHARSET...
标签: php sql postgresql pdo character-encoding