繁体   English   中英

UnicodeDecodeError:'ascii' 编解码器无法解码位置 14 中的字节 0xe2:在 GAE python 中序号不在范围内(128)?

[英]UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 14: ordinal not in range(128) in GAE python?

我正在将 Google Cloud Endpoints 与 python 一起使用。 我正在尝试从数据库中获取数据显示的内容

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 14: ordinal not in range(128) error.

我收到错误的字段是 varchar

"BTTR – oct 01 2014 10:00 AM ESt
Primary issue – Want to activate the kaspersky 
Plan Sold – NA
Any commitment –Call back 
Transferred to tech – NA
Session ID –222479342 
Transaction ID (Order ID) –NA
PDF push on sale call –Na" data. Please help.

此代码包含重音符号。 口音不是 ascii 而是 UTF-8

我的想法是你的数据库在 utf8 中,但你的 python 编码是在 ascii 上设置的。 您应该将 python 空闲(如果使用)、shell(如果您尝试打印)和 python 脚本设置为 UTF8。

或使用Unicode 数据转换您的代码

def remove_accents(input_str):
    nkfd_form = unicodedata.normalize('NFKD', input_str)
    only_ascii = nkfd_form.encode('ASCII', 'ignore')
    return only_ascii

我通过使用解决了这个问题

decode(encoding='unicode-escape',errors='strict')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM