Mysql
 sql >> Base de données >  >> RDS >> Mysql

Est-ce que mysql_real_escape_string() est cassé ?

À partir de la la fonction API C de MySQL mysql_real_escape_string descriptif :

Si vous avez besoin de changer le jeu de caractères de la connexion, vous devez utiliser le mysql_set_character_set() fonction plutôt que d'exécuter un SET NAMES (ou SET CHARACTER SET ) déclaration. mysql_set_character_set() fonctionne comme SET NAMES mais affecte également le jeu de caractères utilisé par mysql_real_escape_string() , qui SET NAMES pas.

N'utilisez donc pas SET NAMES /SET CHARACTER SET mais le mysql_set_charset de PHP pour changer l'encodage car c'est la contrepartie du mysql_set_character_set de MySQL (voir code source de / ext/mysql/php_mysql.c ).