解密后显示乱码

解密后显示乱码

http://img1.sycdn.imooc.com//climg/5f5f7543097574fb06600279.jpg

如图所示,请问为什么解密后显示乱码?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕雪 2020-09-15 11:54:28

1)同学再测试一下表中插入中文,能不能正常显示?sql查询后的结果能不能正常显示呢?

2)另外同学的工具是不是较旧,看创建连接时有没有编码的设置,如果有的话也设置一下

http://img1.sycdn.imooc.com//climg/5f6039a609fa01dc08940515.jpg

3)都解决不了的话,再用第三种方法

1、在mysql的安装目录下找到my.ini文件(如果没有的话就把my-medium.ini复制,然后重命名为my.ini即可)
2、在my.ini文件中找到[client]和[mysqld]字段,在下面均加上default-character-set=utf8,保存并关闭
3、重启mysql服务


  • 提问者 慕移动4586040 #1
    老师好,回复: 1.还是不能显示中文; 2.我用的软件是heidisql,navicat过期了,连接选项中没有这个设置选项; 3.请问下老师,安装目录下my.ini是在哪个文件夹下?使用系统搜索并没有搜到这个文件名?
    2020-09-15 14:11:45
  • 好帮手慕雪 回复 提问者 慕移动4586040 #2
    1)有的windows终端不支持UTF8 应该把终端设置成GBK编码试试。 2)默认的在C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
    2020-09-15 17:27:17
好帮手慕雪 2020-09-15 10:22:23

你把明文改为“abc”别用中文再测试一下。如果英文没有问题则是编码问题。 show variables like "%char%"; 看一下,

http://img1.sycdn.imooc.com//climg/5f6024ae0998d85003650247.jpg

这几项需要修改为utf-8。格式如下:

SET character_set_client='utf8';

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~~~~  

  • 提问者 慕移动4586040 #1
    老师好,按照您的提示修改了character_set_client等四项为utf8(其他各项设置和您回答截图一致),但是解密后仍然显示乱码(和提问的乱码一样);另外abc解密后是正常显示的。麻烦老师再看下是什么问题?
    2020-09-15 11:08:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师