0

Quoth MySQL 文档 - mysql_set_character_set()

该函数的作用类似于 SET NAMES 语句,但也会设置 mysql->charset 的值,从而影响使用的字符集mysql_real_escape_string()

当它说“像SET NAMES语句一样工作”时,是否意味着实际的MySQL 查询SET NAMES将被发送到服务器?

或者这是否意味着mysql_set_character_set 模仿查询的功能,SET NAMES但不会从 Web 服务器向数据库服务器发送实际的消息或数据?

4

1 回答 1

1

手册(我的重点):

SET NAMES 'charset_name' [COLLATE 'collation_name']

SET NAMES指示客户端将使用什么字符集将 SQL 语句发送到服务器。因此,SET NAMES 'cp1251'告诉服务器,“来自该客户端的未来传入消息是字符集 cp1251。” 它还指定服务器用于将结果发送回客户端的字符集。(例如,如果您使用 SELECT 语句,它指示用于列值的字符集。)

如果该SET NAMES命令影响从服务器到客户端的通信中使用的字符集,那么这个字符集信息将不得不以某种方式传输到服务器。

所以,是的。此函数调用将导致数据传输到服务器。

于 2014-10-19T19:27:26.857 回答