Форум сайта python.su
0
Здравствуйте!
Многочисленные эксперименты не помогли, гугл тоже.
Проблема: Питоном формируется хеш в URL'е перехода, JavaScript'ом надо хеш расшифровать и показать пользователю.
Естественное решение: в Python urllib.quote - в JavaScript unescape
НО! Поскольку последняя принимает строку unicode, необходимо, чтобы Python таковую туда передал.
В скрипте:
#!d:/usr/local/bin/python -u
# -*- coding: cp1251 -*-
Офлайн
32
переходи на utf8
Офлайн
2
mistercxчто такое goto?
goto('/admin/#timeout/{0}'.format(unicode('кириллица','CP1251')))
Офлайн
186
> unicode('кириллица','CP1251')
С каких пор CP1251 стал юникодом? Тогда уже пиши:
unicode('кириллица','utf-8')
или
u"кириллица"Отредактировано (Сен. 21, 2010 20:14:42)
Офлайн
2
RodegastПримерно с тех пор как utf-8 им не стал.
С каких пор CP1251 стал юникодом?
Офлайн
0
Daevaornимя моей функции, формирующей URL-строку перенаправления по Location:
что такое goto?
RodegastБез твоего совета я бы никак об этом не догадался! :)
unicode('кириллица','utf-8')
или
u“кириллица”
Офлайн
36
mistercxмне кажется проблема в том, что вы в строку пытаетесь записать уникод :)
'/admin/#timeout/{0}'.format(unicode('кириллица','CP1251'))
# видимо так будет правильнее
u'/admin/#timeout/{0}'.format(unicode('кириллица','CP1251')
# или так
u'/admin/#timeout/{0}'.format(u'кириллица')
Офлайн
32
ещё можно установить дефолтный кодинг в ср1251
import sys
reload(sys)
sys.setdefaultencoding('cp1251')
Отредактировано (Сен. 22, 2010 05:47:46)
Офлайн
14
o7412369815963, не советуйте плохого.
Не весь работающий код одинаково полезен. Кое-что лучше никому не показывать и никогда не употреблять самому.
Офлайн