lunes, 30 de enero de 2012

Obtener resultados de una consulta en utf-8

Importando contenidos de otra base de datos, me ha surgido un problema que nunca había tenido, y es que al hacer la consulta, me devolvía algunos resultados como "???? ????????? ??". Al hacer un utf8_encode / utf8_decode al texto en cuestión, no lo codificaba bien, puesto que mysql me devolvía directamente esos caracteres, imposibilitando su conversión posterior.

Para obtener estos caracteres, que por cierto son textos en griego, ruso, japonés, etc. hay que añadir una simple función extra al crear la conexión con la base de datos: mysql_set_charset, de tal manera que la conexión quedaría:

$c = mysql_connect('localhost', 'user', 'pass');
mysql_set_charset('utf8', $c);
mysql_select_db("batabase", $c);



¡Saludos y hasta la próxima!

No hay comentarios:

Publicar un comentario