Найти - Пользователи
Полная версия: вывод unicode
Начало » Django » вывод unicode
1
diego
Доброго времени суток!

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'

Как исправить?
Ziberbulger
у меня вообще не получилось поднять win7+apache+mod_wsgi сколько ни бился …
а decode/encode не спасает?
string.encode('utf8')
diego
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 , но тут забить на проблему не могу (кстати наверно лучше бы перенести эту тему в продолжение прошлой, но как это сделать?)
Александр Кошелев
diego
Вы знаете что означает спецификатор %r? Он делает repr для аргумента. Вам нужен %s и ‘u’ перед строкой.
diego
Александр Кошелев
diego
Вы знаете что означает спецификатор %r? Он делает repr для аргумента. Вам нужен %s и ‘u’ перед строкой.
Спасибо
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