解决终端读取Redis数据出现乱码的前缀(终端读redis乱码前缀)

随着 Redis 作为缓存系统,数据库以及消息队列越来越受欢迎,许多开发者开始使用它。在开发过程中,很容易发现终端查看数据时会出现乱码,这是因为Redis中的字符串和中文字符之间的编码不同造成的。

专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业淮上免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

我们可以让Redis在保存数据时使用utf-8编码:

SU@> redis-cli

127.0.0.1:6379> set KEY1 “你好”

OK

127.0.0.1:6379> get key1

“\\u4f60\\u597d”

可以看到,数据被编码成 \uXXXX 的形式,这就是utf-8的编码形式,并不是中文字符本身。这时,如果我们想正确的在终端上查看数据,我们需要添加一个前缀来实现对字符的转码。

我们可以使用Python的unicodedata将该字符串形式的Unicode转换为中文:

# -*- coding: UTF-8 -*-
import unicodedata

get_key = "你好"
str_key = u"\\u4f60\\u597d"
# 把字符串形式的Unicode转换为中文
encode_key = unicodedata.normalize('NFKD', str_key).encode('ascii','ignore')
print encode_key
# 输出 你好

同样,我们也可以使用Python的codecs模块将\uXXXX形式的编码转换为中文:

# -*- coding: UTF-8 -*-
import codecs

get_key = "你好"
str_key = u"\\u4f60\\u597d"
# 把字符串形式的Unicode转换为中文
encode_key = codecs.decode(str_key, 'unicode_escape')
print encode_key
# 输出你好

上面的代码已经可以正确的将Redis中乱码的字符串转换为可以显示的中文,从而解决终端读取Redis数据出现乱码的问题。这一技术虽然不难,但对于有一定编程基础的开发者而言,能正确识别Redis中字符串的编码和解码,也是一种值得鼓励的技术。

创新互联【028-86922220】值得信赖的成都网站建设公司。多年持续为众多企业提供成都网站建设,成都品牌网站设计,成都高端网站制作开发,SEO优化排名推广服务,全网营销让企业网站产生价值。

分享文章:解决终端读取Redis数据出现乱码的前缀(终端读redis乱码前缀)
浏览地址:http://www.shufengxianlan.com/qtweb/news21/521421.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联