我搜索了很多页面来尝试帮助自己,现在我对 python2 和 unicode 比开始之前更加困惑。
我想要实现的目标:
使用适用于 Python 的 google content api v2,我编写了一个实现,该实现将从我们的数据库中获取产品并将其发布到 Google。
这工作正常,直到我得到一些含有 unicode 字符的产品。
从 google/python 返回的示例和错误是:
D' Addario EXP11 Coated Bronze Acoustic Guitar Strings, 12-53
Fender Stop Dreaming, Start Playing™ Affinity P Bass® With Rumble™ 15
ERROR'utf8' codec can't decode byte 0x92 in position 1: invalid start byte
ERROR'utf8' codec can't decode byte 0x99 in position 35: invalid start byte
我知道它的 ' ® ™ 字符,但我无法计算出它的 .encode/.decode 等方面。
那么,谁能告诉我如何获取这些带有特殊字符的产品名称,以便将它们发布到 Google?
==更新== 我从 MySQL 数据库获取产品名称。该表设置为使用 UTF-8 作为编码。
最佳答案
尝试:
u'Addario EXP11 Coated Bronze Acoustic Guitar Strings, 12-53
Fender Stop Dreaming, Start Playing™ Affinity P Bass® With Rumble™ 15'
或
unicode('Addario EXP11 Coated Bronze Acoustic Guitar Strings, 12-53
Fender Stop Dreaming, Start Playing™ Affinity P Bass® With Rumble™ 15')
但除此之外。很多时候,Python 2 中的 Unicode 支持是一件令人头疼的事情。我建议尝试使用 unicode 为标准的 Python 3。
关于Python - 谷歌内容 API 和 unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30666399/