今天,为了帮助你的同事处理一件棘手的事情,问题是:

不管使用哪种版本的MySQL客户机将服务器连接到客户机,都发现服务器端已经设置好了。

复制代码如下:服务器= utf8字符集

之后,

复制代码如下:character_set_client,character_set_connection,character_set_results

所有时间都与服务器端一致,即使您将选项添加到MySQL客户机中。

复制代码代码如下:--默认字符集= utf8

不,除非连接已连接,命令是手动执行的。

复制代码代码如下所示:

集名称latin1

客户机、连接和结果的字符集将被更改。

经过仔细比较,我终于找到了我踩到坑的地方,而服务器端又设置了另一个选项。

复制代码代码如下所示:

跳过字符集客户端握手

该选项在文档上的解释是这样的:

复制代码代码如下所示:

——字符集客户端握手

不要忽略客户端发送的字符集信息。忽略,客户端,字符,4,另外两个是

这样,也是好的。例如,如果跳过的字符集,客户端的握手选项启用客户端程序,可以避免误操作,使用其他字符集的连接写数据,导致乱码的问题。