PDO e MySQL com UTF-8

Posted by cristianmedeiros

Se você esta usando PDO, esta tendo dificuldades com UTF-8 no seu MySQL, mesmo com tudo setado para UTF-8, você pode tentar isso:

$pdo = new PDO(
    ‘mysql:host=localhost;dbname=nomedobanco’,
    "user",
    "pass",
    array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

 

O último parametro do construtor do PDO é um array com as opções específicas do driver, no caso, do driver od MySQL. Este parametro é alimentado no velho estilo "array" chave=>valor.

Observem que o parametro (PDO::MYSQL_ATTR_INIT_COMMAND) não se trata de uma configuração de charset, mas sim de um comando que é executado todas as vezes que você conecta no banco. Neste caso, todas as vezes que ele se conecta no banco, ele executa a query "SET NAMES utf8" (acho que é específica do MySQL) que diz para o MySQL utilizar UTF-8 como charset para nossa conexão.

Para saber mais:

Fonte:
http://www.laszlo.nu/post/34159352/how-to-use-utf-8-with-mysql-and-php-data-objects-pdo

Tags BlogBlogs: php, pdo, mysql, utf8, unicode

 

Posted in: Banco de Dados, PHP Comments(1) November 2008

One Response to “PDO e MySQL com UTF-8”

  1. Fernando Says:

    O seu post resulveu meu problema. Obrigado.

Leave a Reply