关于Python脚本通过crontab调度的时候报错UnicodeEncodeError: ‘ascii’ codec can’t encode characters in positi的解决方案

昨天通过Python写了了一段脚本,然后通过crontab将脚本调起来执行,手动执行的时候没有问题的,但是通过crontab进行调度就执行报错。

报错的原因如下:

Traceback (most recent call last):
  File "/opt/data-integration/workspace/rs_etl/pyscript/get_mobine_supplier.py", line 69, in <module>
    print("\u6570\u636e\u5199\u5165csv\u5f00\u59cb")
UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-3: ordinal not in range(128)

看到这个报错第一个想到的应该就是编码的问题,有人说在Python脚本的前面加上 # coding:utf-8 但是那,加上之后还是报这个错。

最后通过网上的篇博客找到了答案。

https://jeffliz.wordpress.com/2019/04/16/python3-%E8%A7%A3%E5%86%B3unicodeencodeerror-ascii-codec-cant-encode-characters-%E9%97%AE%E9%A2%98/

按照上面的操作,Python脚本终于调通了,数据完整的插入到数据库当中。

解决办法,在执行Python脚本的时候设置编码即可,

至此问题得到解决。

原文地址:https://www.cnblogs.com/gxgd/p/11250002.html

时间: 2024-08-26 19:11:29

关于Python脚本通过crontab调度的时候报错UnicodeEncodeError: ‘ascii’ codec can’t encode characters in positi的解决方案的相关文章

python报错“UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position 22-26: ordinal not in range(128)”问题解决

方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为: Python代码  : # encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8') 此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需

python报错 UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position 0-3: ordinal not in range(128)

报错:UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-3: ordinal not in range(128) 解决方法,在文件开头添加: import sys; reload(sys); sys.setdefaultencoding('utf8') 问题是在练习爬虫的时候,抓取api接口的json数据转换时出现的,后面参考python格式化输出文章做了一些排版处理,如下 python报错 Unico

python 编码报错问题 &#39;ascii&#39; codec can&#39;t encode characters 解决方法

python在安装时,默认的编码是ascii, 当程序中出现非ascii编码时,python的处理常常会报这样的错 'ascii' codec can't encode characters python没办法处理非ascii编码的, 此时需要自己设置将python的默认编码,一般设置为utf8的编码格式. 查看python的默认编码 print sys.getdefaultencoding() 解决方法一(已通过验证,顺带也解决了我之前字符前一直加u的问题) 在python安装目录下,进入\P

python 编码问题:&#39;ascii&#39; codec can&#39;t encode characters in position 的解决方案

问题描述: Python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式. 查询系统默认编码可以在解释器中输入以下命令: Python代码

Mac sublime 编译Python UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position 6-8: ordinal not in range(128)

刚学Python,想打印个"hello 张林峰",代码如下: #!/usr/bin/env python3 # -*- coding: utf-8 -*- print('hello 张林峰') 用sublime运行一下,竟然报错??? Traceback (most recent call last): File "/Users/zhanglinfeng/Documents/Python/\u7ec3\u4e60/\u5b57\u7b26\u4e32\u7f16\u7801\

Python UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position 0-4: ordinal not in range(128)

#!/usr/bin/python# -*- coding: utf-8 -*- 解决方法: 可以看到我的版本是2.6的,所以打开/usr/lib64/python2.6/site.py 红框里本来是0,把这个0改为1就可以了. Python UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)

【Python】UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position 0-3

问题如下: UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3 解决方法: 程序开始加上下面两句 1 reload(sys) 2 sys.setdefaultencoding( "utf-8" ) 另外:当字符串里有 \n.\t.\r时,json.loads()失效,异常,要去掉 [Python]UnicodeEncodeError: 'ascii' codec can't encode c

python输出字符串,UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position问题

http://blog.sina.com.cn/s/blog_64a3795a01018vyp.html 参考于这个博主,我自己做一个笔记. 把一个列表转换成字符串输出的时候出现了UnicodeEncodeError: 'ascii' codec can't encode characters in position 32-34: ordinal not in range(128)问题,使用的是ulipad编译器. 解决方法1: 在开头加上 import sys reload(sys) sys.

Python编码问题:UnicodeEncodeError: &#39;ascii&#39; codec can&#39;t encode characters in position 0-1: ordinal not in range(12

今天安装了PyScripter编辑器,刚要写代码,突然就出现异常: <span style="font-size:14px;color:#ff0000;">>>> Traceback (most recent call last): File "<string>", line 378, in findModuleOrPackage File "<string>", line 367, in f