Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 1, 2010 19:32:01

Nick2009
От:
Зарегистрирован: 2009-06-24
Сообщения: 161
Репутация: +  0  -
Профиль   Отправить e-mail  

Странное поведение simplejson.dumps и _(u'')

Вот так понимает
x = _(u'note')
return HttpResponse(simplejson.dumps({'x':x}, ensure_ascii=False), mimetype='application/json')

Так не понимает
x = _(u'NOTE')
x = ‘note’
x ='NOTE'
x = _(u'note NOTE')

Так опять понимает
x = _(u'note NOTE Ноте')

А так уже нет…
x = _(u'Ноте')

А так снова понимает.
x = _(u'Ноте')
return HttpResponse(simplejson.dumps({'x':x}), mimetype='application/json')

Зато теперь так не понимает:
x = _(u'note NOTE Ноте')

и так не понимает:
x = ‘#’.join()
x = ‘#’.join().decode('utf-8')

“Нет” - т.е. не возвращает никакого результа в колбек функцию, сваливается где-то в сериализации.

Пляски с бубном уже несколько часов, количество вариантов стремится к бесконечности.
Мне известно, что эта падла требует unicode, что я ей и даю иногда.
Что ейной морде конкретно надо сказать, чтобы стабильно работала?

Везде кодировка указана правильно utf-8.
Файл в UNIX:UTF-8 формате.
Отлаживаю под джанговским http сервером.



Отредактировано (Фев. 1, 2010 19:58:59)

Офлайн

#2 Фев. 2, 2010 04:43:49

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

Странное поведение simplejson.dumps и _(u'')

Что такое у вас “_”?



Офлайн

#3 Фев. 2, 2010 09:08:33

Nick2009
От:
Зарегистрирован: 2009-06-24
Сообщения: 161
Репутация: +  0  -
Профиль   Отправить e-mail  

Странное поведение simplejson.dumps и _(u'')

Daevaorn
Что такие у вас “_”?
from django.utils.translation import ugettext as _


Попробовал убрать _()
Разные строки, одни понимает, другие нет, т.е. как бы от контента зависит… бред конечно, но факт.

так не понимает:
x = ‘#’.join()


Кстати, при аналогичном выводе текстовых данных(UTF-8) из базы, подобных проблем пока не было. Но там я не использую _(u'') а прямо передаю значения полей.

'''

Проблема наблюдается в IE и отсутсвует в FF тем не менее код вполне кросс браузерный, кэширование отключено, перезагрузка страницы выполняется по Ctrl+F5, что должно обновлять весь контент.
Т.е. не очевидно, только IE в этом виноват или IE + Django/simplejson…
Сейчас буду всё вышеизложенное перепроверять под FF.

function MyClass(element…){
element._this = this;
this.onsuccess = function(obj){ alert(obj.x); }
this.send= function(){ $.post('/myurl/',{y:''},this.onsuccess,'json'); }
}



Отредактировано (Фев. 2, 2010 10:38:33)

Офлайн

#4 Фев. 2, 2010 10:52:12

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

Странное поведение simplejson.dumps и _(u'')

В общем пока вы сами не определитесь, где у вас наблюдается проблема, помочь будет сложно.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version