Django Декодирование символов UTF - \ u0411 \ u0435 \ u0441 \ u0435 \ u0434 \ u043a \ u0430 - в строки кириллицы - PullRequest
2 голосов
/ 17 мая 2011

Я использую Django 1.3.Будь так добр и ответь мне на один вопрос.Я читаю данные из моей базы данных, где кодировка установлена ​​в untf8-unicode

settings.py
DEFAULT_CHARSET = 'utf-8'

file.py
# -*- coding: utf-8 -*-
def get_gift(gift_id):
    gift = Gift.objects.get(id__exact = gift_id, is_visible = True)
    return gift

def output():
    gift = get_gift(gift_id)
    title = gift.name.encode('utf-8')
    return HttpResponse(title)

. В ответ я получаю сообщение, но оно должноРусский (кириллица)

1 Ответ

0 голосов
/ 21 сентября 2011

Часто случается, что у вас есть не римские текстовые данные в Юникоде, но вы не можете отобразить их - обычно потому, что вы пытаетесь показать их пользователю через приложение, которое не поддерживает Юникод, или потому чтонужные вам шрифты не доступны.Вы можете представлять символы Unicode как «???????»или "\ 15BA \ 15A0 \ 1610 ...", но это почти бесполезно для пользователя, который действительно хочет прочитать то, что говорит текст.

То, что предоставляет Unidecode, является функцией, 'unidecode (...)', который берет данные Unicode и пытается представить их в ASCII (т. е. универсально отображаемые символы в диапазоне от 0x00 до 0x7F).

Представление почти всегда является попыткой транслитерации - т.е.Передача латинскими буквами произношения, выраженного текстом в некоторой другой системе письма.(См. Пример выше)

Более подробная информация здесь

try pip install Unidecode

...