Найти - Пользователи
Полная версия: utf8 и парсинг qs
Начало » Web » utf8 и парсинг qs
1
nerezus
на джаваскрипте переменная с произвольными символами кодируется через escape и передается на сервер.
Как получить ее и отправить обратно на страничку?
Кодировка UTF-8 везде.

У меня получаются такие вещи:
Ввожу: 123dfва, оно подвергается escape
query: message=123df%D0%B2%D0%B0

Далее использую: dict(cgi.parse_qsl(query))

print выдает: {“message”: “123df\u0432\u0430”}
На странице: 123df%u0432%u0430

Как сделать, чтобы на страницу приходило нормальное 123dfва?
dimabest
для кодирования URL нужно использовать encodeURIComponent().
Причем ключ и значение кодируешь отдельно, а только затем склеиваешь в строку key=value
nerezus
query: message=123df%D0%B2%D0%B0
Не изменится.
dimabest
# coding: utf-8

import cgi

s = 'message=123df%D0%B2%D0%B0'

print cgi.parse_qsl(s)[0][1]
выводит
123dfва
Ты где-то ошибся с кодировками, или в скрипте, или с кодировкой файла, или с консолью, или с питоном 3.0 :)
nerezus
Ах ты ж блин… ночью писал и эскейпинг случайно применил не к той строке =\
Сразу 2 ошибки исправились.

Спасибо за помощь.
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