Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 15, 2010 19:31:06

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод unicode

Доброго времени суток!

win7,apatch,mod_wsgi

search_form.html

<html>
<head>
<title>Поиск</title>
</head>
<body>
<form action="/search/" method="get">
<input type="text" name="q">
<input type="submit" value="Найти">
</form>
</body>
</html>
view.py
def search(request):
if 'q' in request.GET:

message='Вы искали: %r' % request.GET['q']

else:
message='Вы отправили пустой запрос'
return HttpResponse(message)
все файлы проекта в utf-8

Ввожу - Привет, получаю

Вы искали: u'\u043f\u0440\u0438\u0432\u0435\u0442'

Как исправить?



Офлайн

#2 Дек. 15, 2010 19:40:07

Ziberbulger
От:
Зарегистрирован: 2010-05-08
Сообщения: 76
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод unicode

у меня вообще не получилось поднять win7+apache+mod_wsgi сколько ни бился …
а decode/encode не спасает?

string.encode('utf8')



Офлайн

#3 Дек. 15, 2010 20:22:26

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод unicode

Ziberbulger
у меня вообще не получилось поднять win7+apache+mod_wsgi сколько ни бился …
а decode/encode не спасает?
string.encode('utf8')
неа
делаю так
message='Вы искали: %r' % request.GET['q'].encode('utf8')
получаю
Вы искали: '\xd0\xbf\xd1\x80\xd0\xb8\xd0\xb2\xd0\xb5\xd1\x82'
Была такая же проблема при выводе на консоль http://python.su/forum/viewtopic.php?id=9482 , но тут забить на проблему не могу (кстати наверно лучше бы перенести эту тему в продолжение прошлой, но как это сделать?)



Офлайн

#4 Дек. 15, 2010 20:48:38

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

вывод unicode

diego
Вы знаете что означает спецификатор %r? Он делает repr для аргумента. Вам нужен %s и ‘u’ перед строкой.



Офлайн

#5 Дек. 15, 2010 21:12:29

diego
От:
Зарегистрирован: 2010-09-14
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

вывод unicode

Александр Кошелев
diego
Вы знаете что означает спецификатор %r? Он делает repr для аргумента. Вам нужен %s и ‘u’ перед строкой.
Спасибо



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version