您的位置:首页 > 数据库 > Redis

遇到问题---redis命令行查看中文乱码--十六进制字符串处理

2018-09-29 19:55 756 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q383965374/article/details/82902082

转载请注明出处: 遇到问题—redis命令行查看中文乱码–十六进制字符串处理

症状

Redis在使用命令行操作时,如果查看内容或者key中包含中文,会显示16进制的字符串”\xe4\xb8\xad\xe5\x9b\xbd”

127.0.0.1:6379> set k1 '中国'
OK
127.0.0.1:6379> get k1
"\xe4\xb8\xad\xe5\x9b\xbd"

原因

Redis的在使用的过程中有中文的内容都是以十六进制的形式存储的,所以在使用redis-cli客户端连接时如果是内容中有中文的部分都会以十六进制的形式显示,因此查询redis中的数据内容时就有点不太方便

转载请注明出处: 遇到问题—redis命令行查看中文乱码–十六进制字符串处理

解决方法

其实在Unix系统下可以把查到的十六进制内容用echo中的“-e“参数用来转换所查询到的十六进制内容,如下:

127.0.0.1:6379> get test1
"test\xe6\x8c\x81\xe4\xb9\x85\xe5\x8c\x96"
127.0.0.1:6379> quit
[root@localhost ~]# echo -e "test\xe6\x8c\x81\xe4\xb9\x85\xe5\x8c\x96"
test持久化

此外在使用redis-cli客户端时还可以使用redis-cli客户端本身的“–raw”参数在连接redis时用来输出原始内容:

[root@localhost ~]# redis-cli --raw
127.0.0.1:6379> get test1
test持久化

转载请注明出处: 遇到问题—redis命令行查看中文乱码–十六进制字符串处理

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: