Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 17, 2010 15:55:33

cleg
От:
Зарегистрирован: 2006-11-09
Сообщения: 153
Репутация: +  0  -
Профиль   Отправить e-mail  

Django ORM и Unicode-строки

Я явно что то делаю не так, но что именно - никак не пойму.
У меня есть простейшая модель.

class Page(models.Model):
title = models.TextField(blank = False, null = False)
Я сохраняю заголовски статей, в том числе и на русском. Все сохраняется без проблем.
Но при поптыке сделать запрос получается лажа.

page = Page.objects.filter(id = 1)
Строка в page.title почему-то возвращается в виде unicode-escaped.

u'\u042e\u0449\u0435\u043d\u043a\u043e'
Если ее print-ануть или вывести в шаблон - все нормально, но моя проблема состоит в том что мне надо сдампить ее в JSON.

dumps({'title': page.title})
И в JSON она как раз попадает в escaped-виде.
Я уже перепробовал все мыслимые и не мыслимые комбинации encode-decode и преобразований.
Подскажите пожалуйста, как получить из этого нормальный “человеческий” Unicode? :) Понятно что JS поймет этот формат, но хочется сократить объем перегоняемых по сети данных.

Спасибо.



Отредактировано (Фев. 17, 2010 16:18:47)

Офлайн

#2 Фев. 17, 2010 17:15:12

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Django ORM и Unicode-строки

cleg
Подскажите пожалуйста, как получить из этого нормальный “человеческий” Unicode?
Это какой?
cleg
Понятно что JS поймет этот формат, но хочется сократить объем перегоняемых по сети данных.
Вы уверены что вам это нужно? Например в кодировке utf-8 вы не получите преимущества.



Офлайн

#3 Фев. 17, 2010 18:18:06

cleg
От:
Зарегистрирован: 2006-11-09
Сообщения: 153
Репутация: +  0  -
Профиль   Отправить e-mail  

Django ORM и Unicode-строки

Daevaorn
Вы уверены что вам это нужно? Например в кодировке utf-8 вы не получите преимущества.
разве? по-моему в utf-8 на символ все же не 6 байт уходит.



Офлайн

#4 Фев. 17, 2010 18:27:16

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Django ORM и Unicode-строки

cleg
разве? по-моему в utf-8 на символ все же не 6 байт уходит.
Безусловно, но та же JSON разметка сама что-то весит и вообще, если контент через zlib прогонять (что обязательно надо делать) профит небольшой.



Офлайн

#5 Фев. 18, 2010 08:39:23

ziro
От:
Зарегистрирован: 2009-08-13
Сообщения: 225
Репутация: +  8  -
Профиль   Отправить e-mail  

Django ORM и Unicode-строки

u'\u042e\u0449\u0435\u043d\u043a\u043e'
RTFM - это в спецификации JSON.



Офлайн

#6 Фев. 18, 2010 12:23:05

cleg
От:
Зарегистрирован: 2006-11-09
Сообщения: 153
Репутация: +  0  -
Профиль   Отправить e-mail  

Django ORM и Unicode-строки

ок. тему можно закрывать. спасибо.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version