解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
来源:互联网 发布:最完美网络架构图 编辑:程序博客网 时间:2024/05/22 05:09
今天把xlsx文件转换成xml的时候出现了UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-34: ordinal not in range(128)问题。对编码的问题困扰多时,搜到了枫飘泫的解决方法,用方法一完美解决,遂记录如下,并附上对python编码解码问题的理解。
字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。
encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。
因此,转码的时候一定要先搞明白,字符串str是什么编码,然后decode成unicode,然后再encode成其他编码
代码中字符串的默认编码与代码文件本身的编码一致。
====================
解决方法1:
在开头加上
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )
解决方法2:
使用cmd运行python程序,能正常显示结果
0 0
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position
- UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决Python字符串问题:UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3问题
- 解决impala运行时出现的UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- python中解决UnicodeEncodeError: 'ascii' codec can't encode characters in position……问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- HDU 2003 求绝对值(水题)
- 自定义java注解
- HDU 5601 N*M bulbs
- 介绍bigpipe以及在django上的实现,bigpipedjango实现
- JavaScript 进阶学习 5 内置对象
- 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position问题
- 【学习笔记】3D图形核心基础精炼版-12:stage3D实战-动态阴影 shadow mapping 和范例工程4
- Android 4.0 Launcher源码分析系列(三)
- 判断A是不是B的旋转字符串的3种方法
- 百度地图通过经纬度获取地址信息
- web性能优化小结
- asp.net mvc 用Redis实现分布式集群共享Session
- Trie的java实现
- 结构体定义:struct与typedef struct 用法详解和用法小结