sql >> Database teknologi >  >> RDS >> Mysql

PDO UTF-8-kodningsproblem?

Dette:

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

er fuldstændig meningsløst. Se http://php.net/manual/en/ref.pdo- mysql.php . MYSQL_ATTR_INIT_COMMAND udføres umiddelbart efter, at forbindelsen er etableret, senest. Hvis du indstiller dette på et allerede fuldt oprettet PDO-objekt, er det for sent, og det udføres aldrig. Du skal videregive det til konstruktøren:

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

Alternativt, hvis din PHP-version understøtter det, skal du tilføje charset=utf8 til DSN.




  1. Sådan rettes "Kun ét udtryk kan angives i valglisten ..." i SQL Server

  2. lav et ID i en mysql-tabel auto_increment (efter faktum)

  3. SQL Server tilfældig sortering

  4. Effektive ISNUMERIC()-erstatninger på SQL Server?