2012-02-04 3 views
-2

У меня есть некоторые внутренние символы в поле, которое django возвращает как bytestring - как я могу преобразовать его обратно для отображения в моем шаблоне?Преобразование Django bytestring в шаблоне

EDIT для уточнения: У меня есть некоторый японский текст в байтовой строки в моей БД:

«\ XE3 \ x83 \ x97 \ XE3 \ x83 \ xA9 \ XE3 \ x82 \ xa4 \ XE3 \ x83 \ x90 \ XE3 \ x82 \ xb7 \ XE3 \ x83 \ XBC \ XE3 \ x83 \ x9d \ XE3 \ x83 \ хаа \ XE3 \ x82 \ xb7 \ XE3 \ x83 \ XBC»

Я хотел бы, чтобы преобразовать его обратно в プ ラ イ バ シ ー ポ リ シ ー»

(Примечание:. Django не сохранить его в моей БД таким образом - данные были импортированы)

+0

Что это значит? Почему вы не можете отображать байты? В любом случае, Django использует unicode исключительно внутри страны, поэтому, если вы получаете bytetrings как-то, это связано с вашей собственной неправильной конфигурацией. –

ответ

1

Этот текст отлично работает для меня в оболочке:

>>> from django import template 
>>> s = '\xe3\x83\x97\xe3\x83\xa9\xe3\x82\xa4\xe3\x83\x90\xe3\x82\xb7\xe3\x83\xbc \xe3\x83\x9d\xe3\x83\xaa\xe3\x82\xb7\xe3\x83\xbc' 
>>> t = template.Template('{{ s }}') 
>>> print t.render(template.Context({'s': s})) 
プライバシー ポリシー 

поэтому я не уверен, где у вас проблемы.

+0

Вы правы - проблема с кодировкой строки в моем db - она ​​возвращает некоторую смесь шестнадцатеричных экранированных символов и unicode экранированных символов –

Смежные вопросы