Từ Hàm C API của MySQL mysql_real_escape_string mô tả
:
Nếu bạn cần thay đổi bộ ký tự của kết nối, bạn nên sử dụng
mysql_set_character_set()chứ không phải thực thiSET NAMES(hoặcSET CHARACTER SET) tuyên bố.mysql_set_character_set()hoạt động giống nhưSET NAMESmà còn ảnh hưởng đến bộ ký tự được sử dụng bởimysql_real_escape_string(), màSET NAMESkhông.
Vì vậy, không sử dụng SET NAMES / SET CHARACTER SET nhưng mysql_set_charset của PHP
để thay đổi mã hóa vì đó là bản sao cho mysql_set_character_set của MySQL (xem mã nguồn của / ext / mysql / php_mysql.c
).