[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