How set UTF-8 in PDO class constructor for PHP PgSQL database
pdo, php, postgresql, utf-8
Solution
From what I see in section 21.2.3 on this page, you can use one of the following two commands:
- `SET CLIENT_ENCODING TO 'value';`
- `SET NAMES 'value';`
where value = `UTF8`. Try using:
SET CLIENT_ENCODING TO 'UTF8';
or
SET NAMES 'UTF8';
Problem
I want to set UTF8 for my PDO object. This class works correctly with MySQL. I can't find an analog of `array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8")` for PgSQL and I can't work with cyrillic symbols. ``` class oop{ private $host="localhost"; private $user="xxxx"; private $db="xxxx"; private $pass="111111"; private $conn; public function __construct(){ $this->conn = new PDO("pgsql:host=".$this->host.";dbname=".$this->db,$this->user,$this->pass,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES UTF8") ); } ```