De la Función API C de MySQL mysql_real_escape_string descripción
:
Si necesita cambiar el conjunto de caracteres de la conexión, debe usar mysql_set_character_set()
función en lugar de ejecutar un SET NAMES (o SET CHARACTER SET ) declaración. mysql_set_character_set()
funciona como SET NAMES pero también afecta el juego de caracteres usado por mysql_real_escape_string()
, que SET NAMES no lo hace.
Así que no uses SET NAMES /SET CHARACTER SET pero mysql_set_charset de PHP
para cambiar la codificación ya que es la contraparte de MySQL mysql_set_character_set (ver código fuente de / ext/mysql/php_mysql.c
).