發現無論客戶端指定何種字符集,連接後 character_set_client/connection/results 總跟隨伺服器的 character-set-server。經排查,伺服器啟用了 skip-character-set-client-handshake 參數。
--skip-character-set-client-handshake:忽略客戶端發送的字符集資訊,強制使用伺服器預設字符集。使 MySQL 行為類似 4.0 版本。
SET NAMES。理解此機制有助於排查字符集不一致導致的亂碼問題。