当前位置: 代码网 > it编程>数据库>Redis > Redis出现中文乱码的问题及解决

Redis出现中文乱码的问题及解决

2025年06月27日 Redis 我要评论
今天测试一个小功能,用redis做了个缓存,然后启动redis客户端进行查询,发现得不到想要的中文结果。网上查找相关的解决方案,却没有一个能完整解决问题的,最后自己一步一个脚印解决了。1. 问题的产生

今天测试一个小功能,用redis做了个缓存,然后启动redis客户端进行查询,发现得不到想要的中文结果。

网上查找相关的解决方案,却没有一个能完整解决问题的,最后自己一步一个脚印解决了。

1. 问题的产生

(1)将接口返回数据写入redis,设置key为“data”

在这里插入图片描述

(2)找到redis安装目录中的redis-server.exe,双击启动

在这里插入图片描述

(3)在redis-server.exe这个文件的这一层地址栏,输入cmd,打开控制台,然后输入redis-cli并回车,接着ping一下连通性,可以看到客户端是没有问题的

在这里插入图片描述

(4)根据缓存的key,输入查询语句get data,查询一下缓存数据。可以看到,能查到数据,但是没有想要的中文出现。

在这里插入图片描述

2. 问题的解决

很明显,前面出现的问题,并不是中文乱码问题(因为连中文的痕迹都没有看到),而是数据的进制问题。

redis数据进制问题的解决

要解决数据进制问题,只需要在前面的(3)中,将redis-cli改为redis-cli --raw输入进去即可,这也是很多网上的解决方案,我们可以看下这么解决的结果。

在这里插入图片描述

好,解决了一个数据进制问题,真正出现了我们所说的中文乱码问题。这个问题实际上不属于redis的问题,而是编码问题。这也是为什么搜redis中文乱码问题,总得不到解决方案的原因。

中文乱码问题解决

这个问题是因为写java文件时用的是utf-8的编码格式,而windows控制台对于中文,是gbk的编码格式,两者不一致导致。

查看java文件编码格式

在这里插入图片描述

右键windows控制台—>属性,查看编码格式

在这里插入图片描述

乱码问题,只要保持两者编码格式一致,该问题便可迎刃而解。

还是从前面的(3)入手,cmd打开控制台后,先输入chcp 65001,修改控制台的编码格式为utf-8,然后再输入redis-cli --raw,后面正常查询,就能得到想要的中文结果了。

  • 修改编码格式

在这里插入图片描述

在这里插入图片描述

输入redis-cli --raw,并做后面的查询

在这里插入图片描述

总结

redis中文乱码问题的解决:

(1)先通过chcp 65001命令修改控制台的编码格式

(2)再通过redis-cli --raw命令解决数据进制问题,最后再做查询就能得到正常的结果。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com