‘ascii‘ codec can‘t encode characters in position
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相关推荐
- 解决UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 问题(转)
解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 问题(转) 参考文章: (1)解决UnicodeEnco ...
- python3报错处理:UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-1
一.背景说明 最开始不愿意使用Python,一大原因是因为Python2默认使用ASCII编码处理中文可以说是一件痛苦的事情.仅从更换默认编码一项变换,就可以说Python3和Python2不算同一门 ...
- [转]Python UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 的解决办法...
UnicodeEncodeError: 'ascii' codec can't encode characters in position 的解决办法 python在安装时,默认的编码是ascii,当 ...
- 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') 结果报了如下的错 ...
- 'ascii' codec can't encode characters in position 20-24:ordinal not in range(128)报错根本解决办法
转载地址:https://blog.csdn.net/Mickey220521/article/details/82759930 遇到这个问题,本人解决了一下午,亲测有效,可以解决根本问题. 讲一下背 ...
- 已解决:‘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 ...
- 已解决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 ...
- 已解决 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" ...
- Python报错UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 1413-1418: ordinal not
我用的是pyhon 2.7 报错原因是因为 python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错 当我爬取网站存储到本地的时候 发生了报错 ...
最新文章
- Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)
- Java学习总结:58(Collections工具类)
- c语言奇偶判断程序,求助 奇偶校验的C语言编程
- o2 atom(HP rw68xx)系列手机将可以使用Android。
- Tmux的安装、使用与配置
- 分享程序员提升自身能力的7个实用网站
- Jsp用于交换数据的4个map结构
- c#网页自动化脚本语言,c# – 创建用于创建网页的脚本语言
- Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能
- 用计算机计算麦克斯韦方程,数学之美~(01)最伟大的数学公式!
- 软考信息系统项目管理师_信息系统综合测试与管理---软考高级之信息系统项目管理师027
- 使用分层的方法设计 机器人软件
- php矢量瓦片,【教你一招】张海平:如何将小范围在线地图切片数据转换为GIS矢量数据?...
- 函数式编程之Promise的奇幻漂流
- 使用腾讯云服务器搭建个人网盘
- Django操作数据库
- c++ 数据结构 软件压缩/解压缩软件Szip(Huffman算法及应用)
- Redis的五种数据结构原理分析(中)
- 《缠中说禅108课》2:没有庄家,有的只是赢家和输家
- python jpype 调用java之坑
热门文章
- TypeError: cannot convert the series to <class ‘float‘>问题解决
- 新鲜出炉 | 临床基因组学数据分析实战开课啦!!!
- Cell Research | 单细胞测序技术揭示派杰氏病的致病机制
- linux无盘工作站互不干扰,Linux环境下无盘工作站的架设和实现二
- 模板应用到多个主机 zabbix_Zabbix监控TCP连接数
- 1.9编程基础之顺序查找 01查找特定的值
- linux的i o模型,I/O模型的分类及简介
- Windows10 cmd输入python打开的是应用商店
- [1] SDK Tools安装
- echarts x轴像直尺一样设置刻度_MATLAB作图实例:6:指定轴刻度值和标签