Is mysql_real_escape_string() broken?
From the MySQL’s C API function mysql_real_escape_string description: If you need to change the character set of the connection, you should use the mysql_set_character_set() function rather than executing a SET NAMES (or SET CHARACTER SET) statement. mysql_set_character_set() works like SET NAMES but also affects the character set used by mysql_real_escape_string(), which SET NAMES does not. … Read more