sql >> Base de Datos >  >> RDS >> Mysql

Obtener caracteres extraños al obtener valor en la base de datos mysql

Veo que está ejecutando esta consulta... mysql_query('SET CHARACTER SET utf8');
Intenta cambiar eso por esto...

mysql_query("SET NAMES 'utf8'");

Eso debería asegurar que la conexión sea UTF-8.

También intente revisar la lista de elementos de este artículo... http:/ /blog.loftdigital.com/blog/php-utf-8-cheatsheet
Esto enumera los pasos necesarios para asegurarse de que está utilizando UTF-8 de adelante hacia atrás en su sitio/aplicación, pero en resumen:

  • Compruebe que tiene la extensión mbstring de PHP y tiene mb_internal_encoding('UTF-8'); establecido en su secuencia de comandos.
  • Asegúrese de ejecutar esta consulta MySQL después de conectarse a su base de datos mysql_query("SET NAMES 'utf8'"); lo que garantiza que la conexión sea UTF-8.
  • Establezca el encabezado HTTP de su salida... header('Content-type: text/html; charset=UTF-8'); . Esto no parece ser necesario si ha configurado mb_internal_encoding() arriba pero útil para la depuración
  • Asegúrese de que la codificación de salida de su página HTML esté configurada... <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />