[Zope-dev] redirect burps on unicode URLs
Wichert Akkerman
wichert at wiggy.net
Fri Feb 26 03:29:54 EST 2010
On 2/25/10 17:08 , Tres Seaver wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Adam GROSZER wrote:
>> Hello,
>>
>> Looks like zope.publisher burps on unicode URL which contain non-ascii
>> chars. This is from a KGS 3.4 application, but looking at the source
>> it still seems to have the same problems.
>>
>> opinions?
>>
>> ...
>> self.request.response.redirect(url)
>> File "d:\home\.buildout\eggs\zope.publisher-3.4.6-py2.5.egg\zope\publisher\browser.py", line
>> 729, in redirect
>> return super(BrowserResponse, self).redirect(location, status)
>> File "d:\home\.buildout\eggs\zope.publisher-3.4.6-py2.5.egg\zope\publisher\http.py", line 882,
>> in redirect
>> self.setHeader('Location', location)
>> File "d:\home\.buildout\eggs\zope.publisher-3.4.6-py2.5.egg\zope\publisher\http.py", line 676,
>> in setHeader
>> value = str(value)
>> UnicodeEncodeError: 'ascii' codec can't encode character u'\xd6' in position 71: ordinal not in
>> range(128)
>
> Two issues:
>
> - - Technically there is no such thing as a "unicode URL": URLs are
> always ASCII, with other characters encoded[1]. IRIs and IRLs are
> a different thing altogether.
I see this as naming confusion. In this day and age every URL is
effectively an IRI, and every modern browser treats them that way. If
you look at http://jp.wikipedia.org/ you can see how well that works. I
do not see why zope.publisher should not be able to support that
transparently. Other systems such as Routes and repoze.bfg do.
Wichert.
More information about the Zope-Dev
mailing list