UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
来源:互联网 发布:自作头像软件 编辑:程序博客网 时间:2024/06/10 01:50
#coding:utf-8print raw_input(u'请输入数字:')
保存为文件while.py,并执行
执行结果如下图所示:
解决办法:
在你python的安装目录下的Lib目录,找到site.py,修改def setencoding()方法
def setencoding():
.....
.....
if 0:
# Enable to support locale aware default string encodings.
把那个if 0该位if 1即可
还有就是最好文件目录中不要出现中文。
如下图所示:
即可解决乱码
网上还有一种方法,如下:
解决Python2.7的UnicodeEncodeError: ‘ascii’ codec can’t encode异常错误
同时要注意,这个方法与本实例有什么区别。为什么本实例使用这个方法却不显示中文呢?是不是cmd本身的原因?
import sysreload(sys)sys.setdefaultencoding("utf8")我测试了,该结果仍是乱码。但是根据上面的方法中,我采用
import sysreload(sys)sys.setdefaultencoding("cp936")乱码问题同样也解决了。只是目前仍不清楚原理 。完整代码如下:
#coding:utf-8import sysreload(sys)sys.setdefaultencoding("cp936")a=u'请输入数字:'print raw_input(a)
尝试了解原理:
测试以下代码,可以正常显示汉字:
#coding:utf-8import sysreload(sys)sys.setdefaultencoding("utf8")a=u'请输入数字:'print a为什么通过raw_input输出就乱码呢。在测试下面代码:
#coding:utf-8import sysreload(sys)sys.setdefaultencoding("cp936")a=u'请输入数字:'print raw_input(a)b=u'请输入数字:'print b都能正常显示汉字。
其它正常情况:
#coding:utf-8a='请输入数字:'a=a.decode('utf8').encode("gbk")print raw_input(a)或者
#coding:utf-8a=u'请输入数字:'a=a.encode("gbk")print raw_input(a)
资料参考:
1、http://workgroup.cn/?p=244
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-4: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-15: ordinal not in range(128
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-15: ordinal not in range(128
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-7: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
- UnicodeEncodeError:ascii codec can't encode characters in position 9-16:ordinal not in range(128)
- 在Django模板中使用字典
- Go 在linux下的安装
- 计算贷款 使用符号常量
- 实用正则表达式匹配和替换
- 3_shuangjingdu.cpp
- UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
- C# DataTable导出EXCEL后身份证等信息显示乱码解决
- 我爱你,没有什么目的:情感日志
- 4_This is a C++ program.cpp
- 一个指向栈的指针错误,,防不胜防
- Win8 下安装.net framework 3.5
- 采用firebug调试javascript(一)
- 技术项目 - 负载均衡(HAProxy vs Nginx)
- 逝去的流年,渐行渐远,慢慢成为眼角的回忆