Observação:
utf8
do MySQL charset é limitado, ele suporta apenas caracteres Unicode no BMP que não ocupam mais de três bytes. Você deve estar usando utf8mb4
em vez disso.
- Certifique-se de enviar o
SET NAMES utf8
SET NAMES utf8mb4
comando para o MySQL após a conexão, antes de executar qualquer consulta do MySQL. - Certifique-se de que sua página seja realmente renderizada como utf-8 (se houver um cabeçalho HTTP
Content-Type: text/html;charset=iso-8859-1
, os navegadores discordam sobre qual deve vencer). - Leia este artigo:Como lidar com Unicode de frente para trás em um aplicativo da Web
(mas lembre-se de substituir
utf8
comutf8mb4
no que diz respeito ao MySQL).
Se o phpMyAdmin exibir seus dados inseridos como texto Unicode correto, minha aposta é que você não está fazendo
SET NAMES utf8
depois de conectar.