[Zope-dev] redirect burps on unicode URLs
Tres Seaver
tseaver at palladion.com
Fri Feb 26 12:25:08 EST 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Wichert Akkerman wrote:
> 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.
Browseers *display* what looks like unicode to the user, but they *pass*
URL-encoded ASCII bytes to the server. Even if that weren't so, HTTP
header values (the 'Location:' header, in this case) still have to be
ASCII, period.
Tres.
- --
===================================================================
Tres Seaver +1 540-429-0999 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkuIA/QACgkQ+gerLs4ltQ72NwCgu9No4P4J5y29kiTJk124GYZ2
PhYAnjNhssCzpFgNaMmL2c3Y1wVEzeKJ
=4HgE
-----END PGP SIGNATURE-----
More information about the Zope-Dev
mailing list