Mysql
 sql >> Database >  >> RDS >> Mysql

mysql_real_escape_string() è rotto?

Dalla funzione API C di MySQL mysql_real_escape_string descrizione :

Se è necessario modificare il set di caratteri della connessione, utilizzare mysql_set_character_set() funzione invece di eseguire un SET NAMES (o SET CHARACTER SET ) dichiarazione. mysql_set_character_set() funziona come SET NAMES ma influisce anche sul set di caratteri utilizzato da mysql_real_escape_string() , che SET NAMES no.

Quindi non usare SET NAMES /SET CHARACTER SET ma mysql_set_charset di PHP per modificare la codifica in quanto è la controparte di mysql_set_character_set di MySQL (vedi codice sorgente di / ext/mysql/php_mysql.c ).