isentech 2013-06-03
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这三个系统变量