​​​​​​UnicodeEncodeError: 'ascii' codec can't encode characters in position 14-15: ordinal not in range(128)

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报类似这样的错误。

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

python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。

    查询系统默认编码

import sys;sys.getdefaultencoding()

设置默认编码

import sys;sys.setdefaultencoding('utf8')

可能会报AttributeError: 'module' object has no attribute 'setdefaultencoding'的错误,执行reload(sys),在执行以上命令就可以顺利通过。

此时在执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了,那么有没有办法一次性修改程序或系统的默认编码呢。

有两种种方法设置python的默认编码:

方法一:在程序中加入以下代码:
Python代码

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

方法二:在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:
Python代码

# encoding=utf8
import sysreload(sys)
sys.setdefaultencoding('utf8') 

注意:sitecustomize.py这个文件最好不要使用记事本这样的工具创建。

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

‘ascii‘ codec can‘t encode characters in position相关推荐

  1. 解决UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 问题(转)

    解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题(转) 参考文章: (1)解决UnicodeEnco ...

  2. python3报错处理:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-1

    一.背景说明 最开始不愿意使用Python,一大原因是因为Python2默认使用ASCII编码处理中文可以说是一件痛苦的事情.仅从更换默认编码一项变换,就可以说Python3和Python2不算同一门 ...

  3. [转]Python UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 的解决办法...

    UnicodeEncodeError: 'ascii' codec can't encode characters in position 的解决办法 python在安装时,默认的编码是ascii,当 ...

  4. UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

    在linux centos系统中使用python2.7.2对一个字符串解码然后输出,代码如下: s = "哈哈哈" print s.decode('utf-8') 结果报了如下的错 ...

  5. 'ascii' codec can't encode characters in position 20-24:ordinal not in range(128)报错根本解决办法

    转载地址:https://blog.csdn.net/Mickey220521/article/details/82759930 遇到这个问题,本人解决了一下午,亲测有效,可以解决根本问题. 讲一下背 ...

  6. 已解决:‘ascii‘ codec can‘t encode characters in position 18-20: ordinal not in range(128)

    问题 训练Random Forest.Extra Trees.Support Vector Machine.Gradient Boosting.Multiple Later Perceptron.Ad ...

  7. 已解决UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 18-20: ordinal not in range

    已解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 18-20: ordinal not in range ...

  8. 已解决 UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 26-29: ordinal not in r...

    背景 打算使用 pygrib 打开读取 grib2 文件: msgs = pygrib.open(r"D:\下载目录\20230706000000-0h-enfo-ef.grib2" ...

  9. Python报错UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 1413-1418: ordinal not

    我用的是pyhon 2.7 报错原因是因为 python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错 当我爬取网站存储到本地的时候 发生了报错 ...

最新文章

  1. Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)
  2. Java学习总结:58(Collections工具类)
  3. c语言奇偶判断程序,求助 奇偶校验的C语言编程
  4. o2 atom(HP rw68xx)系列手机将可以使用Android。
  5. Tmux的安装、使用与配置
  6. 分享程序员提升自身能力的7个实用网站
  7. Jsp用于交换数据的4个map结构
  8. c#网页自动化脚本语言,c# – 创建用于创建网页的脚本语言
  9. Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能
  10. 用计算机计算麦克斯韦方程,数学之美~(01)最伟大的数学公式!
  11. 软考信息系统项目管理师_信息系统综合测试与管理---软考高级之信息系统项目管理师027
  12. 使用分层的方法设计 机器人软件
  13. php矢量瓦片,【教你一招】张海平:如何将小范围在线地图切片数据转换为GIS矢量数据?...
  14. 函数式编程之Promise的奇幻漂流
  15. 使用腾讯云服务器搭建个人网盘
  16. Django操作数据库
  17. c++ 数据结构 软件压缩/解压缩软件Szip(Huffman算法及应用)
  18. Redis的五种数据结构原理分析(中)
  19. 《缠中说禅108课》2:没有庄家,有的只是赢家和输家
  20. python jpype 调用java之坑

热门文章

  1. TypeError: cannot convert the series to <class ‘float‘>问题解决
  2. 新鲜出炉 | 临床基因组学数据分析实战开课啦!!!
  3. Cell Research | 单细胞测序技术揭示派杰氏病的致病机制
  4. linux无盘工作站互不干扰,Linux环境下无盘工作站的架设和实现二
  5. 模板应用到多个主机 zabbix_Zabbix监控TCP连接数
  6. 1.9编程基础之顺序查找 01查找特定的值
  7. linux的i o模型,I/O模型的分类及简介
  8. Windows10 cmd输入python打开的是应用商店
  9. [1] SDK Tools安装
  10. echarts x轴像直尺一样设置刻度_MATLAB作图实例:6:指定轴刻度值和标签