在一次开发使用中,由于各种原因,自己使用了两种不同得数据库管理工具来查看数据库,分别是SQLyog和navicat
关于两种工具的选择使用,个人建议SQLyog,至于原因,各有所爱,不过对我来说,最大的原因就是navicat不能再同一个查询页面中分别执行各自得sql语句,即使你单独选中它,而SQLyog可以,选中哪个就执行哪个sql语句。
好了,言归正传,在这次使用中,使用不两个不同得工具查看同张表的数据, SQLyog正常,navicat乱码,如下
后经过各种搜索,百度,确定是字符编码的问题,使用 show variables like 'char%'查询,显示如下
关键就在于character_set_results这个值,这个值代表的是查询之后将已何种字符编码返回结果集,显示正常的SQLyog中的值显示得字符编码为Latin1,那么,是不是,我只要修改navicat中的character_set_results值为Latin1,是不是就可以了,抱着个想法,马上就写了 set character_set_results=Latin1,一执行,虽然没失败,但是返回受影响行数为0,这是不是说明不能用sql语句修改或者是没有权限什么的。。。。。。。。。。。。。。。。。。。后续的就不啰嗦了
最后,终于找到一个方法,如下,修改数据库连接属性
将使用Mysql字符集的勾去掉,再编码中选择GBK即可,显示正常了
如果你觉得本人的文章对你有所帮助,客观请打赏瓶水喝