2009-10-18 2 views
0

Я пытаюсь получить значение параметра GET, который выглядит следующим образом: http://someurl/handler.json?&q=%E1%F8%E0%F1%F8%E9Джанго Unicode GET Параметр Значения

Параметр д в этом случае является иврит. Я пытаюсь прочитать значение, используя следующий код:

request.GET.get("q", None) 

Я получаю gybrish вместо правильного текста. Подумайте, что здесь не так? Я пропустил некоторые настройки?

ответ

3

Строка запроса находится в ISO-8859-8, но по умолчанию кодировка Django - UTF-8. Вам нужно будет изменить либо DEFAULT_CHARSET, либо HttpRequest.encoding на ISO-8859-8, чтобы получить правильные данные Unicode.

+1

Или, если можно, измените приложение, чтобы использовать кодировку UTF-8. Webapps, которые не поддерживают Unicode, - это последний век. – bobince

+0

UTF-8! = Юникод. –

+0

Правда, но ISO-8859-8 не охватывает весь Юникод, поэтому вы не можете сказать, что поддерживаете Unicode, вы поддерживаете только небольшое его подмножество (ISO-8859-8). –

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