萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL字符集編碼的理解

MySQL字符集編碼的理解

   無論在客戶機用哪個版本的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 選項後,就可以避免客戶端程序誤操作,使用其他字符集連接進來並寫入數據,從而引發亂碼問題。

copyright © 萬盛學電腦網 all rights reserved