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 NAMES
mà còn ảnh hưởng đến bộ ký tự được sử dụng bởimysql_real_escape_string()
, màSET NAMES
khô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
).