A pit of the MySQL character set
Http://imysql.com/2013/10/29/misunderstand-about-charset-handshake.shtml
A pit of the MySQL character set 1 replies
To help colleagues deal with a tricky thing today, the problem is this:
Regardless of which version of the MySQL client the client uses to connect to the server, it finds that the server-side setting
Character-set-server = UTF8
After
Character_set_client, Character_set_connection, Character_set_results
is always consistent with the server side, even if the MySQL client adds the option
--default-character-set=utf8
Not at all, unless you connect it, and then execute the command manually.
Set Names Latin1
, the character set of the client, connection, and results will be changed.
After careful comparison, I finally found that the place where I stepped on the pit was that the server side set another option:
Skip-character-set-client-handshake
The explanation for this option on the document is this:
--character-set-client-handshakedon ' 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