sql >> Databáze >  >> RDS >> Mysql

Problém s kódováním PDO UTF-8?

Toto:

$db->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, 'SET NAMES utf8');

je zcela zbytečné. Viz http://php.net/manual/en/ref.pdo- mysql.php . MYSQL_ATTR_INIT_COMMAND se provede ihned po navázání spojení, ne později. Pokud to nastavíte na již plně vytvořeném objektu PDO, je příliš pozdě a nikdy se nespustí. Musíte jej předat konstruktoru:

new PDO(..., ..., ..., array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'))

Případně, pokud to vaše verze PHP podporuje, přidejte charset=utf8 na DSN.




  1. Co mají společného olympijské hry, fotbalové zápasy UEFA Euro 2016 a databáze?

  2. GROUP a COUNT() věkové skupiny v CakePHP

  3. SQL sloupec WHERE =vše

  4. Vložit do 2 tabulek s PDO MySQL