Найти - Пользователи
Полная версия: Странное поведение simplejson.dumps и _(u'')
Начало » Django » Странное поведение simplejson.dumps и _(u'')
1
Nick2009
Вот так понимает
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 сервером.
Александр Кошелев
Что такое у вас “_”?
Nick2009
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'); }
}
Александр Кошелев
В общем пока вы сами не определитесь, где у вас наблюдается проблема, помочь будет сложно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB