python mysql取数据 对于unnicode与utf8 中文和乱码的问题

 
 

其实我也是犯了很多傻,才明白这种文乱码的问题给自己打个笔记,也给大家分享一下

 
 

python从数据库取出来的中文一般情况下都是编码成unnicode的编码,我们通常需要拿着这个编码进行解码到前台才能输出中文

可是我在使用s.encode('utf8')的时候却遇到了一些问题

encode unnicode转换成中文utf8格式,在前台显示的情况确是这样的\xe5\xa4\xa7\xe8\xbf\x9e\xe5\x95\x86\xe5\x93\x81\xe4\xba\xa4\xe6\x98\x93\xe6\x89\x80-\xe8\xbf\x9e\xe7\xbb\xad\xe4\xba\xa4\xe6\x98\x93...............

 
 

扫描二维码关注公众号,回复: 1869724 查看本文章

很难过,不知道怎样才能变成中文,虽然解码成了utf8但是因为输出的是utf8编码格式,所以根本看不到中文,输出到前台也不会是中文(因为已经变成了字符串)

有一个方法倒是好使

 str(Code).decode('string_escape')
把乱码放进去就能看见中文了,虽说 print 也能看到中文,可毕竟只是输出一下,不能体现在页面上

其实,输出到前台之前就必须是中文形式,否则,前台显示的东西肯定是乱码

 
 

json.dumps的时候,也可以在前台输出中文,但前提是在json.dump的时候必须加一个参数

不加 ensure_ascii=False  输出的如果有汉字的话都默认给转换成一堆编码(ascii) 如果加上的话 就都能正常显示变成了汉字

 json.dumps(Code,ensure_ascii=False)}
这样传到前台才能显示真正的中文,



猜你喜欢

转载自blog.csdn.net/u014368609/article/details/52849604