Navicat中出现乱码??
程序员文章站
2022-06-01 16:32:53
...
最近在用Ubuntu写python代码时用到了个问题,在Navicat里面插入的中文数据,去终端里执行sql语句或者用python程序执行读取出来的结果是乱码。而用sql语句在命令行里插入的中文数据,在Navicat里显示的是“??”一堆问号。
解决方法:
1、首先确定的是自己mysql的字符集是否都是utf8,通过mysql -u root -p然后输入数据库的密码登陆。在mysql命令行查询自己的字符集是否都是utf8(除了文件的编码是binary)。
show variables like ‘char%’;
1
如果不是utf8的话,通过
set character_set_clinet=utf8;
1
等命令修改字符集,其他的变量修改方法一样,将client换成需要改的connection等变量名称即可。
2、完成了以上步骤后发现问题还是存在,确认问题是出在Navicat客户端上,于是我打开了Navicat客户端,完成以下这些步骤后发现还是不能解决问题。如果你原本是打算按以下方法解决可以先暂停下,按照下一步骤3去试试先。
右键连接-编辑连接(有的版本似乎叫连接属性)-高级,在编码下拉项里确认为utf8。
右键数据库-编辑数据库-编码下拉栏确认为utf8。
右键数据库-新建查询-通过
set character_set_clinet=utf8;
1
等命令修改所有编码不为utf8的变量的字符集。
右键出现“??”问号的表-设计表-点每个字段的类型,确认每一个字段的字符集为utf8。
3、确认问题出在Navicat上,但确认所有字符集都为utf8了还是不能解决,于是我回到了打开Navicat客户端以后第一步做的事上,右键连接-编辑连接(有的版本似乎叫连接属性)-高级,在编码下拉项里选择了第一项,自动。
刷新出现问号的表,发现问号都变成了正常的汉字,之前在Navicat客户端手动输入的汉字变成了乱码(和终端里MySQL命令行查询结果出现了一致),将这些乱码在Navicat中重新输入以后再次测试,问题解决,mysql命令行里查询没有了乱码,Navicat里面的问号也没有了。
作者:bt1995
来源:CSDN
原文:https://blog.csdn.net/sinat_26546385/article/details/80428535
版权声明:本文为博主原创文章,转载请附上博文链接!
推荐阅读
-
win10中edge浏览器或者IE总是出现假死访问页面反应该怎么办?
-
vs2015/vs2013中mvc5 viewbag总是出现问题该怎么办?
-
Eclipse中Web项目出现感叹或红叉该怎么解决?
-
ChemDraw中输入中文会乱码怎么办?如何在ChemDraw中输入汉字?
-
解决JavaEE开发中字符编码出现乱码的问题
-
PPTV网络电视界面出现乱码怎么办?PPTV界面出现乱码的解决方法
-
Android编程向服务器发送请求时出现中文乱码问题的解决方法
-
VS2010复制代码到word时出现中文乱码的解决办法
-
Win10中搜索Chrome/火狐会出现神器提示
-
Zend Studio中输入的中文再次打开会变成乱码怎么办?