我正在用python 2.7版在App Engine(谷歌云平台)上做一个小烧瓶服务器,我对带有重音符号和“ñ”字母的字母有问题。我在这里分享我的代码:
@app.route('/faq', methods=['GET'])
def get_faq():
response = _get_faq()
return json.dumps(response), 200, {'Content-Type': 'application/json'}
def _get_faq():
db = MySQLdb.connect(host=CLOUDSQL_CONNECTION_HOST, user=CLOUDSQL_USER, passwd=CLOUDSQL_PASSWORD, use_unicode=True, charset='utf8')
query = "SELECT question, answer FROM faq_table"
cursor = db.cursor(cursorclass=MySQLdb.cursors.DictCursor)
cursor.execute(query)
result=cursor.fetchall()
faq_response = []
for row in result:
faq_response.append(
{
"question": row["question"],
"answer": row["answer"]
}
)
return faq_response
但当我将此代码上传到App Engine并调用此服务时,服务器会发送代码500,并在错误报告中显示下一条消息:
UnicodeDecodeError:'utf8'编解码器无法解码位置22中的字节0xf3:无效的延续字节
我不能这样解决这个问题:
json.dumps(response).encode('utf-8')
我总是有同样的反应。追踪是下一个:
在iterencode(/base/alloc/tmpfs/dynamic_runtimes/python27g/ec315266546cb44c/python27/python27_dist/lib/python2.7/json/encoder.py:270)
at encode(/base/alloc/tmpfs/dynamic_runtimes/python27g/ec315266546cb44c/python27/python27_dist/lib/python2.7/json/encoder.py:207)
转储时(/base/alloc/tmpfs/dynamic_runtimes/python27g/ec315266546cb44c/python27/python27_dist/lib/python2.7/json/init.py:244)
在get_faq(/base/data/home/apps/xxxxx/yyyyyyyy:nnnnnnn.mmmmmmm/main.py: 7)
有人能帮忙吗?谢谢
尝试:
json.dumps(response.encode('utf-8'))
问题内容: 我正在尝试编写一个脚本,该脚本通过创建随机utf-8编码的字符串,然后将其解码为unicode来生成随机unicode。对于单个字节,它工作正常,但是对于两个字节,它将失败。 例如,如果我在python shell中运行以下命令: 根据utf-8方案https://en.wikipedia.org/wiki/UTF-8#Description,字节序列应以开头和开头都有效。 这是我的p
问题内容: 我正在使用脚本,但在执行此操作时在服务器日志中发现了此错误, ``这里 函数返回。 张贴这个问题之前我已经提到这个 问题,操作系统,所以的。 更新 下一行损害了JSON编码器, 我有一个临时解决方案 但是我不确定这样做是否正确。 问题答案: 该错误是因为字典中存在一些非ASCII字符,并且无法对其进行编码/解码。避免此错误的一种简单方法是使用以下函数对此类字符串进行编码(如果字符串为非
问题内容: 我正在尝试使用python 2.7.12从json文件读取twitter数据。 我使用的代码是这样的: 结果我得到: 我仔细研究了类似问题的所有答案,并想出了这段代码,它在上一次有效。我不知道为什么现在不起作用…我将不胜感激! 问题答案: 这对您没有帮助,这会使事情进一步混乱- 这是一个讨厌的黑客,您需要将其从代码中删除。 错误正在发生,因为是一个字符串,您正在调用。仅当字符串是Uni
我正在使用脚本,但在执行时在服务器日志中发现此错误, 在这里 函数返回。 在发布此问题之前,我已将此问题提交给了SO。 下面这行代码伤害了JSON编码器, 我找到了一个临时的解决办法 但是我不确定这样做是否正确。
以下代码创建错误 UnicodeDecodeError:“utf-8”编解码器无法解码位置0中的字节0xd0:无效的连续字节
问题内容: unicode是如何在python2上工作的?我只是不明白。 在这里,我从服务器下载数据并解析为JSON。 谢谢!! 编辑:以下字符串导致错误:。应该解码为(abhören) 问题答案: 您尝试解析为JSON的字符串未使用UTF-8编码。它很可能是在ISO-8859-1中编码的。请尝试以下操作: 它将处理JSON消息中可能出现的所有变音符号。 您应该阅读Joel Spolsky的《每个