Как я могу получить символ µ из sqlite на веб-страницу? - PullRequest
4 голосов
/ 20 января 2010

В веб-приложении на основе Python, использующем хранилище данных sqlite, у меня была эта ошибка:

Не удалось декодировать в столбец UTF-8 «имя» с текстом «300 мкл-10-10»

Чтение здесь похоже, мне нужно переключить текстовую фабрику на str и получить строки байтов, но когда я делаю это, мой вывод html выглядит так:

300L-10-10

У меня установлен тип контента:

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

1 Ответ

3 голосов
/ 20 января 2010

К сожалению, данные в вашем хранилище данных не кодируются как UTF-8; вместо этого это, вероятно, либо латино-1 или CP1252. Чтобы автоматически декодировать его, попробуйте установить Connection.text_factory в свою собственную функцию:

def convert_string(s):
    try:
        u = s.decode("utf-8")
    except UnicodeDecodeError:
        u = s.decode("cp1252")
    return u

conn.text_factory = convert_string
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...