Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

PHP:problemas de saída utf8 do banco de dados MySQL usando PDO


Existem vários pontos de falha, ao trabalhar com UTF8:

  • verifique se a tabela é utf8

    Use o comando SQL Show Variables; para verificar as configurações de caracteres MySQL para a tabela.

  • os dados inseridos são utf8

    Você pode tentar ferramentas como phpMyAdminer ou Administrador para verificar se os
    dados estão inseridos corretamente. Tente inserir dados através da ferramenta manualmente. Ao inserir via script, não use funções básicas de string. Sempre use suas alternativas mbstring. Defina mb_internal_encoding( 'UTF-8' ); para deixar o PHP lidar com UTF-8 internamente.

  • os dados buscados são utf8

    Eu usaria apenas $pdo->exec("SET NAMES utf8"); e solte o resto. Porque SET NAMES x é equivalente aSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;

  • os dados exibidos são utf8

    Se isso for exibido em uma página html, não se esqueça de definir a meta tag ou o cabeçalho
    "Content-Type: text/html; charset=utf-8" .