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") );
}
                Let me point out the comment by xmedeko, that is absolute right:
pg_connect("host=localhost options='--client_encoding=UTF8'");
Source: http://php.net/manual/en/function.pg-connect.php
Using charset=utf8 is working (only) with mysql...
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';
                        it is very easy to find an analog for the regular SQL query
$pdo->query("SET NAMES UTF8")
However, encoding have to be set in DSN anyway
$this->conn = new PDO("pgsql:host=".$this->host.";dbname=".$this->db.";charset=".$this->charset
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With