解决UnicodeEncodeError: 'ascii' codec can't encode问题

今天把一个列表转换成字符串输出的时候出现了

UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-34: ordinal not in range(128)


解决方法1:

在开头加上

import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )


解决方法2:

使用cmd运行python程序,能正常显示结果


另外:1. 当字符串里有 \n、\t、\r时,json.loads()失效,异常,要去掉;
          2. 在操作数据库的时候用到 BasicDataSource 时,可以通过设置characterEncoding来解决中文乱码的问题,BasicDataSource connPool;connPool.addConnectionProperty("characterEncoding", "UTF-8");;

你可能感兴趣的:(python)