От функцията на C API на MySQL mysql_real_escape_string
описание
:
Ако трябва да промените набора от знаци на връзката, трябва да използвате
mysql_set_character_set()
функция вместо да изпълняваSET NAMES
(илиSET CHARACTER SET
) изявление.mysql_set_character_set()
работи катоSET NAMES
но също така засяга набора от знаци, използван отmysql_real_escape_string()
, коетоSET NAMES
не.
Така че не използвайте SET NAMES
/SET CHARACTER SET
но mysql_set_charset
на PHP
да промените кодирането, тъй като това е аналогът на mysql_set_character_set
(вижте изходния код на / ext/mysql/php_mysql.c
).