mysql_set_charset()
sería una opción, pero una opción limitada a ext/mysql
. Para ext/mysqli
es mysqli_set_charset
y para PDO
::mysql
necesita especificar un parámetro de conexión.
Dado que el uso de esta función da como resultado una llamada a la API de MySQL, debe considerarse mucho más rápido que emitir una consulta.
Con respecto al rendimiento, la forma más rápida de garantizar una comunicación basada en UTF-8 entre su script y el servidor MySQL es configurar el servidor MySQL correctamente. Como SET NAMES x
es equivalente
a
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
mientras que SET character_set_connection = x
internamente también ejecuta SET collation_connection = <<default_collation_of_character_set_x>>
también puede establecer estas variables de servidor
estáticamente en su my.ini/cnf
.
Tenga en cuenta los posibles problemas con otras aplicaciones que se ejecutan en la misma instancia del servidor MySQL y requieren algún otro juego de caracteres.