MySQL 在Mac 控制台中 SQL乱码


1、场景:今天在upload到客户机器上,mysql数据库在备机上,备机在局域网中,需要的ssh主机,再ssh备机 (备机) 有点类似下面的架构

 

 

导致我不能直接工具connection上去,只好SSH上去,然后mysql -u root -p 上去,insert update,

但是在insert select 等操作数据的时候,出现了乱码。 

第一个想到了便是 variables 没有设置好,show了下,确实

 

全部set character_set_client=‘utf8’ 为utf8 ,注意不是utf-8哦,character_set_filesystem 不需要的。文件本身就是二进制的。 

再做数据操作,就ok了 

说明:

mysql5提供了以下几个设置字符集的系统变量:
character_set_client 客户端字符集
character_set_connection 客户端与服务器端连接采用的字符集
character_set_results SELECT查询返回数据的字符集
character_set_database 数据库采用的字符集


乱码问题一般是由于以上几个变量设置错误照成的,
使用上述变量,注意点: character_set_client,character_set_connection这两个变量保证要与 character_set_database编码的一致,
而 character_set_results则保证与SELECT返回的结果与程序的编码一致。

我们可以在程序中使用 set names来同时设置character_set_client, character_set_connection, character_set_results这三个系统变量

相关内容