Я использую Google App Engine и не могу использовать какое-либо расширение C / C ++, просто библиотеку pure & pythonic для преобразования строк Unicode / UTF-8 в нижний / верхний регистр. str.lower () и string.lowercase () не делают.
str в кодировке UTF-8 и unicode - это два разных типа. Не используйте string, используйте соответствующий метод для объекта Unicode:
str
unicode
string
>>> print u'ĉ'.upper() Ĉ
Расшифруйте str до unicode перед использованием:
>>> print 'ĉ'.decode('utf-8').upper() Ĉ