方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为: # encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8') 此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代…
这个问题很奇怪,在服务器上执行一个写数据库的python文件,正常执行,但是使用java的ssh进行调用脚本,发现就是不执行数据库的写入,然后使用了try except的方式,打印了错误信息,发现报错: 'ascii' codec can't encode characters in position 0-15: ordinal not in range(128) 解决方案: 在python文件中加入以下3句话 import sys reload(sys) sys.setdefaultencod…
之前经常在写入文件的时候遇到这种报错, 'gbk' codec can't encode character '\u3164' in position 0: illegal multibyte sequence 之前的解决方式是使用try...except语句把报错的不写入,这样虽然能解决程序报错停止的问题,但是会少写入一些信息 网上各种解答都没什么用,试过了根本没法解决问题,于是今天用自己理解的方式尝试,居然成功了: 解决同样是try...except语句,只不过多一个except写入的方式…
使用python+selenium运行自动化脚本时,打印某一段文字出现UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)报错. 原因:编码未进行转换. 解决方式:print时,在后面加上encode("utf-8")即可. 例如: tx = driver.find_element_by_xpath(".//*[@id='1']/…
python在安装时,默认的编码是ascii, 当程序中出现非ascii编码时,python的处理常常会报这样的错 'ascii' codec can't encode characters python没办法处理非ascii编码的, 此时需要自己设置将python的默认编码,一般设置为utf8的编码格式. 查看python的默认编码 print sys.getdefaultencoding() 解决方法一(已通过验证,顺带也解决了我之前字符前一直加u的问题) 在python安装目录下,进入\P…
执行下面代码报错: UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: Illegal byte sequence import time print(time.strftime("%Y年%m月%d日 %H时%M分%S秒",time.localtime())) 报错原因为有中文字符,修改为下面代码即可 import time print(time.strftime('%Y{y…
用命令(python setup.py install)安装webpy时候总是报错 在网上搜索到的解决方法如下: 1. 这是Python 2 mimetypes的bug 2. 需要将Python2.7/lib/mimetypes.py文件中如下片段注释或删除: try:    ctype = ctype.encode(default_encoding) # omit in 3.x!except UnicodeEncodeError:    pass 补充其它解决办法 解决办法: 在报错的页面添加…
环境:mac+python 2.7 场景描述:在使用python修改excel内容修改表格内容为中文保存时报以下错误 此时已经设置了utf-8了 但保存时仍然报错错 此时将python中的中文使用unicode编码即可.如下图: ==========总结解决方案============ 第一种: 第一行加:# -*- coding: utf-8 -*- ,如下图: 第二种: 引用处设置默认编码格式 第三种: 使用中文处将中文unicode编码       …
最近在用Python处理中文字符串时,报出了如下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 0: ordinal not in range(128)   1.原因 因为默认情况下,Python采用的是ascii编码方式,如下所示: ◄► python -c "import sys; print sys.getdefaultencoding()" ascii ◄► 而Python在进行编…
解决办法: 在报错的页面添加代码: import sys reload(sys) sys.setdefaultencoding('utf8')…