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-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
In fact, it is also good. For example, when the Skip-character-set-client-handshake option is enabled, the client program can be prevented from Misoperation, and other character sets are used to connect in and write data, causing garbled problems.
--------------------------------------Split Line--------------------------------------
Hall of Understanding ( http://zhishuedu.com Training is a professional quality training brand jointly launched by senior MySQL expert Ye Jinlong and Wu Bingxi, which mainly includes MySQL DBA combat optimization and Python Operation Development Course, which is the most conscientious and quality training course in the industry.
This article comes from " Lao ye teahouse "blog, be sure to keep this source http://imysql.blog.51cto.com/1540006/1879883
This article is from the "Lao Ye teahouse" blog, please be sure to keep this source http://imysql.blog.51cto.com/1540006/1880055
A pit of the MySQL character set