'ascii' codec can't encode character u'\u9ed1' in position 0: ordinal not in...

Python代码运行的时候出现'ascii' codec can't encode character u'\u9ed1' in position 0: ordinal not in...错误;

原因是Python会基于ascii去处理字节流,当出现非ASCII码的字节时会出现异常。

解决办法:

在python文件的头部加入如下代码:

import sys  
reload(sys)  
sys.setdefaultencoding('utf8')

再执行的时候就会解决。


如果代码中需要出现中文字符。如果不设置编码同样会出现编码错误(另一个编码异常。)

如果是win环境下:在Python文件的第一行加入“#!-*-coding:utf-8-*-”

如果是linux环境:上面一行代码加在第二行  紧跟在“#!/usr/bin/python”后面,中间不要有空行,(ps:我因为这个原因纠结了半下午的编码异常。)


你可能感兴趣的:('ascii' codec can't encode character u'\u9ed1' in position 0: ordinal not in...)