转自:http://blog.csdn.net/zuyi532/article/details/8851316

python2.7

sql_text = 'insert into gia_list(gia,diamond_ct,ornament,order_no,order_price,customer_name,saler_name,curr_status,op_time,memo) valuses({0},{1},{2},{3},{4},{5},{6},{7},{8},{9})'sql_text = sql_text.format(gia,diamond_ct,ornament,order_no,order_price,customer_name,saler_name,status,op_time,memo)print sql_text
执行时报下面的错误:sql_text = sql_text.format(gia,diamond_ct,ornament,order_no,order_price,customer_name,saler_name,status,op_time,memo)UnicodeEncodeError: 'ascii' codec can't encode character u'\u65e0' in position 0: ordinal not in range(128)

在python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错,python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。查询系统默认编码可以在解释器中输入以下命令:Python代码  >>>sys.getdefaultencoding()  设置默认编码时使用:Python代码  >>>sys.setdefaultencoding('utf8')   可能会报AttributeError: 'module' object has no attribute 'setdefaultencoding'的错误,执行reload(sys),在执行以上命令就可以顺利通过。此时在执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了,那么有没有办法一次性修改程序或系统的默认编码呢。

有2种方法设置python的默认编码:一个解决的方案在程序中加入以下代码:Python代码  import sys  reload(sys)  sys.setdefaultencoding('utf8')    另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:Python代码  # encoding=utf8  import sys  

reload(sys)  sys.setdefaultencoding('utf8')   此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。

另外有一种解决方案是在程序中所有涉及到编码的地方,强制编码为utf8,即添加代码encode("utf8"),这种方法并不推荐使用,因为一旦少写一个地方,将会导致大量的错误报告。

转载于:https://blog.51cto.com/120662/1902407

UnicodeEncodeError: 'ascii' codec can't encode character....相关推荐

  1. UnicodeEncodeError: 'ascii' codec can't encode character '\xe3' in position 0: ordinal not in range

    UnicodeEncodeError: 'ascii' codec can't encode character '\xe3' in position 0: ordinal not in range( ...

  2. UnicodeEncodeError: 'ascii' codec can't encode character

    2019独角兽企业重金招聘Python工程师标准>>> ######问题 UnicodeEncodeError: 'ascii' codec can't encode charact ...

  3. 终极解决方案UnicodeEncodeError: 'ascii' codec can't encode character u'\uff08' in position 13: ordinal not

    又遇到报错: UnicodeEncodeError: 'ascii' codec can't encode character u'\uff08' in position 13: ordinal no ...

  4. UnicodeEncodeError: 'ascii' codec can't encode character '\u2013'

    Python处理数据,然后插入数据库中,使用cx_Oracle库,执行cursor.execute时,如果数据中包含中文破折号'-',则报错: UnicodeEncodeError: 'ascii' ...

  5. UnicodeEncodeError: 'ascii' codec can't encode character u'\u548c' in position 0: ordinal not in ran

    问题描述: 运行Python程序时,出现UnicodeEncodeError: 'ascii' codec can't encode character u'\u548c' in position 0 ...

  6. UnicodeEncodeError: ‘ascii‘ codec can‘t encode character ‘\u5bfc‘ in position 0: ordinal not in rang

    在python3.6服务器上运行模型,字符编码出现问题. UnicodeEncodeError: 'ascii' codec can't encode character '\u5bfc' in po ...

  7. 报错UnicodeEncodeError: ‘ascii‘ codec can‘t encode character ‘\u7b2c‘ in position 64: ordinal not in r

    报错UnicodeEncodeError: 'ascii' codec can't encode character '\u7b2c' in position 64: ordinal not in r ...

  8. 解决:UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position错误

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Haiyang_Duan/article ...

  9. UnicodeEncodeError: ‘ascii‘ codec can‘t encode character ‘\u4eba‘ in position 15:问题解决

    这一看就是python的字符集问题造成的 解决方式:直接在终端运行命令前加上字符集 PYTHONIOENCODING=utf-8 python service.py 如果需要后台挂起运行命令,则输入: ...

最新文章

  1. 把java文件打包成.jar (jar命令详解)
  2. mysql密码修改脚本
  3. AI零基础入门之人工智能开启新时代—下篇
  4. ArrayList、LinkedList、 Vector、Map 用法比较
  5. Ubuntu 及其衍生版安装使用录屏工具【SimpleScreenRecoder】
  6. 如何看透借款人的隐形负债?
  7. python找不到指定的模块是什么意思_Python找不到指定的模块
  8. Oracle自定义函数示例
  9. linux clock()_对比python与linux中时间管理的三件工具calender clock datetime
  10. JavaWeb项目打包运行
  11. PCS7安装时提示please insert the following CD-ROM: SIMTIC PCS7 V?.? SP1 DVD 2/2
  12. 【金融财经】金融市场一周简报(2017-09-01)
  13. ios安装app提示【未受信任的企业级开发者】。在设置中信任此开发者
  14. 程序在单片机里是如何运行的?
  15. 2021极术通讯-为什么智慧计算如此重要?
  16. 软件测试:测试管理篇
  17. 利好:加快发展统一的资本市场
  18. 三国杀开源系列之三106@365
  19. Page size must not be less than onePage 1 of 1 containing UNKNOWN instances
  20. 银河麒麟桌面操作系统V10SP1重置密码

热门文章

  1. 小人脸检测 - Finding Tiny Faces
  2. linux的source命令,linux命令之Source命令
  3. c#语言编写汉诺塔游戏,c#实现汉诺塔问题示例
  4. C++_static,类模板、函数模板、namespace
  5. LeetCode-笔记-394. 字符串解码
  6. hadoop java client_hadoop3 Java client客户端kerberos认证
  7. mq 自动消费 php,php – 从RabbitMq消费不确认消息
  8. chakra linux安装教程,Chakra Linux 安装指南(二):Chakra Linux 安装
  9. 软件测试论坛_浅谈软件测试的未来,我们该如何做好准备
  10. plsql连接oracle无响应,求教 pl/sql连接本机数据库是未响应问题