MySQL skip-character-set-client-handshake招致的一個字符集成績。本站提示廣大學習愛好者:(MySQL skip-character-set-client-handshake招致的一個字符集成績)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL skip-character-set-client-handshake招致的一個字符集成績正文
明天幫同事處置一個辣手的工作,成績是如許的:
不管在客戶機用哪一個版本的mysql客戶端銜接辦事器,發明只需辦事器端設置了
character-set-server = utf8
以後,
character_set_client、 character_set_connection、character_set_results
就一直都是和辦事器端堅持分歧了,即使在mysql客戶端加上選項
--default-character-set=utf8
也不可,除非銜接出來後,再手工履行敕令
set names latin1
,才會將client、connection、results的字符集悛改來。
經由細心比較,終究發明讓我踩坑的處所是,辦事器端設置了另外一個選項:
skip-character-set-client-handshake
文檔上關於這個選項的說明是如許的:
--character-set-client-handshake
Don't ignore character set information sent by the client. To ignore client information and use the default server character set, use --skip-character-set-client-handshake; this makes MySQL behave like MySQL 4.0
這麼看來,其實也是有利益的。好比啟用 skip-character-set-client-handshake 選項後,便可以免客戶端法式誤操作,應用其他字符集銜接出去並寫入數據,從而激發亂碼成績。