Linux平台下mysqlcc乱码问题的影响


问题描述:Federo8系统中安装了mysqlcc但打开数据库之后出现乱码,但据我所知mysqlcc是支持GBK简体中文的。而且在win下面是不会出现这个问题的。起初我怀疑是不是mysql的问题,mysql的多套字符集确实很容易造成数据库乱码。

为解决这个问题首先查看mysql系统变量,了解数据库到底有哪些编码对我们有影响。

character_set_client
character_set_connection
character_set_results

以上三种字符集对我们浏览数据库,查询数据库有影响。character_set_client,这个是客户端发送请求的编码,character_set_connection 连接数据库编码,character_set_results 返回记录集编码。通常情况下解决乱码的办法set names ‘encoding’;其实就是上面三条语句的集合,但这个方法对我的问题没有任何帮助。

最终想到了OS操作系统编码,因为我怀疑mysqlcc这个软件使用的默认编码就是操作系统编码,而我目前使用的系统正是utf-8,所以数据浏览页面无论我怎么设置mysql都是没用的,因为从gbk无法直接转换到utf-8。不过好在Linux提供了对多语言编码的选择。重启电脑选择GB18030,好像Federo还没有GBK编码的选择。进入系统发现除了个别在utf-8下建立的中文名文件夹出现乱码其他的比如mysqlcc查询数据库已经可以正常显示了。

编码问题确实比较麻烦,还是需要时间去实践,找到其中的一般规律和原理,对于mysql的多语言编码问题还是要清楚数据存储的是什么编码,需要显示什么编码,中间连接到mysql又是什么编码。有必要的话还是要仔细研究手册中关于字符集的讲解。

Linux下的MYSQL GUI客户端暂时还没有什么比较好的推荐,这个mysqlcc也只是凑合一下因为作为开源项目他已经被mysqlAB叫停了不会在更新。如果你有什么好的建议,可以向我推荐。 

相关内容