我正在使用Python-2.6 CGI脚本,但是在执行服务器日志时发现此错误json.dumps()
,
Traceback (most recent call last):
File "/etc/mongodb/server/cgi-bin/getstats.py", line 135, in <module>
print json.dumps(__getdata())
File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in position 0: invalid start byte
这里
__getdata()
函数返回dictionary {}
。
张贴这个问题之前我已经提到这个问题,操作系统,所以的。
更新
下一行损害了JSON编码器,
now = datetime.datetime.now()
now = datetime.datetime.strftime(now, '%Y-%m-%dT%H:%M:%S.%fZ')
print json.dumps({'current_time': now}) // this is the culprit
我有一个临时解决方案
print json.dumps( {'old_time': now.encode('ISO-8859-1').strip() })
但是我不确定这样做是否正确。
该错误是因为字典中存在一些非ASCII字符,并且无法对其进行编码/解码。避免此错误的一种简单方法是使用encode()如下函数对此类字符串进行编码(如果a字符串为非ascii字符):
a.encode('utf-8').strip()
问题内容: 我正在使用脚本,但在执行此操作时在服务器日志中发现了此错误, ``这里 函数返回。 张贴这个问题之前我已经提到这个 问题,操作系统,所以的。 更新 下一行损害了JSON编码器, 我有一个临时解决方案 但是我不确定这样做是否正确。 问题答案: 该错误是因为字典中存在一些非ASCII字符,并且无法对其进行编码/解码。避免此错误的一种简单方法是使用以下函数对此类字符串进行编码(如果字符串为非
我正在使用脚本,但在执行时在服务器日志中发现此错误, 在这里 函数返回。 在发布此问题之前,我已将此问题提交给了SO。 下面这行代码伤害了JSON编码器, 我找到了一个临时的解决办法 但是我不确定这样做是否正确。
问题内容: 我正在尝试使用python 2.7.12从json文件读取twitter数据。 我使用的代码是这样的: 结果我得到: 我仔细研究了类似问题的所有答案,并想出了这段代码,它在上一次有效。我不知道为什么现在不起作用…我将不胜感激! 问题答案: 这对您没有帮助,这会使事情进一步混乱- 这是一个讨厌的黑客,您需要将其从代码中删除。 错误正在发生,因为是一个字符串,您正在调用。仅当字符串是Uni
问题内容: 我正在尝试编写一个脚本,该脚本通过创建随机utf-8编码的字符串,然后将其解码为unicode来生成随机unicode。对于单个字节,它工作正常,但是对于两个字节,它将失败。 例如,如果我在python shell中运行以下命令: 根据utf-8方案https://en.wikipedia.org/wiki/UTF-8#Description,字节序列应以开头和开头都有效。 这是我的p
问题内容: https://github.com/affinelayer/pix2pix- tensorflow/tree/master/tools 在上述站点上编译“ process.py”时发生错误。 追溯(最近一次通话): 错误原因是什么?Python的版本是3.5.2。 问题答案: Python尝试将字节数组(假定为utf-8编码的字符串)转换为unicode字符串()。当然,此过程是根据
https://github.com/affinelayer/pix2pix-tensorflow/tree/master/tools 在上述站点上编译“process.py”时出错。 回溯(最近一次呼叫最后一次): 错误的原因是什么?Python的版本是3.5。2.