UnicodeEncodeError: 'latin-1' codec can't encode characters,python3 中文乱码

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 9-13: ordinal not in range(256)

后来苦思冥想找资料,最后发现一个办法,可以解决上述问题,就是:

在下图所示处加上下面箭头所指那句,即图后蓝色代码

 

account = accountraw.encode("utf-8").decode("latin1")

 

file="中国.xls".decode("utf-8")#将中文进行decode解码也就是将utf-8转为unicode
data=xlrd.open_workbook(file)
2.控制台输出中文乱码
解决方法:
print("中国").decode('utf-8').encode('gbk')
#源码是utf-8,控制台是默认gbk输出,
最好自己去更改一下设置就好(在file-settings-fileEncodings-utf-8)两个都选成utf-8,这样就可以直接输出
原因:

 

主要原因是Excel中读取数据乱码解决办法如下:

 

posted @ 2019-05-23 21:29  tooltime  阅读(2996)  评论(1编辑  收藏  举报