Python - Google Content API и Unicode

Я искал столько страниц, чтобы попытаться помочь себе, и теперь я больше запутался в python2 и unicode, чем был до того, как начал.

Чего я пытаюсь добиться:

Используя контент Google Api v2 для Python, я написал реализацию, которая будет брать продукты из нашей базы данных и публиковать их в Google.

Это работает нормально, пока я не доберусь до некоторых продуктов, в которых есть символы Юникода.

Пример и ошибки, возвращаемые из 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?

== update == Я получаю названия продуктов из базы данных MySQL. Таблица настроена на использование UTF-8 в качестве кодировки.

2 ответа

Пытаться:

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')

Но это в сторону. Поддержка Unicode в Python 2 - это боль в заднице много раз. Я рекомендую попробовать Python 3, где Юникод является стандартным.

Python 3 есть, ответ:) (теперь Google поддерживает его с их SDK)

Другие вопросы по тегам