2014-10-19 45 views
0

答曰MySQL的文檔 - mysql_set_character_set()「mysql_set_character_set」是否將字節傳輸到MySQL服務器?

此功能作品像SET NAMES語句,而且是成套的mysql->字符集的價值,從而影響通過mysql_real_escape_string()

使用的字符集

當它說「像SET NAMES聲明一樣工作」,這是否意味着實際 MySQL查詢SET NAMES將發佈到服務器?

還是它意味着的mysql_set_character_set模仿查詢SET NAMES,但沒有實際的消息或數據的功能將會從Web服務器到數據庫服務器發送?

回答

1

the manual(我的重點):

SET NAMES 'charset_name' [COLLATE 'collation_name']

SET NAMES表示的字符集的客戶端將使用SQL語句發送到服務器。 因此,SET NAMES 'cp1251'告訴服務器,「來自此客戶端的未來傳入消息位於 字符集cp1251」。它還指定服務器用於將結果發送回客戶端的字符集。(例如,它表示什麼字符集使用列值 如果你使用SELECT語句。)

如果SET NAMES命令影響的通信中使用從服務器到客戶端的字符集,然後該字符集信息將不得不以某種方式傳輸到服務器。

所以,是的。此函數調用將導致數據傳輸到服務器。

相關問題