Hay múltiples puntos de falla cuando se trabaja con UTF8:
-
asegúrese de que la tabla sea utf8
Utilice el comando SQL
Show Variables;para verificar la configuración de caracteres de MySQL para la tabla. -
los datos insertados son utf8
Puede probar herramientas como phpMyAdminer o Administrador para comprobar si los datos
se han insertado correctamente. Intente insertar datos a través de la herramienta de forma manual. Cuando los inserte a través de un script, no utilice las funciones de cadena básicas. Utilice siempre sus alternativas de mbstring. Establecermb_internal_encoding( 'UTF-8' );para permitir que PHP maneje UTF-8 internamente. -
los datos obtenidos son utf8
Solo usaría
$pdo->exec("SET NAMES utf8");y suelta el resto. PorqueSET NAMES xes equivalente aSET character_set_client = x; SET character_set_results = x; SET character_set_connection = x; -
los datos mostrados son utf8
Si esto se muestra en una página html, no olvide configurar la metaetiqueta o el encabezado
"Content-Type: text/html; charset=utf-8".