cubicweb #3366114 [wsgi] UnicodeDecodeError when using URLs with unicode characters [rejected]

On browsing the following URL : http://localhost/tag/analyse%20num%C3%A9rique (which works on a cubicweb-ctl start or through an apache proxy), when using wsgi I get :

Traceback

[Tue Dec 10 17:24:40 2013] [error] 2013-12-10 17:24:40 - (canary.middleware) ERROR: <type 'exceptions.UnicodeDecodeError'>
[Tue Dec 10 17:24:40 2013] [error] Traceback (most recent call last):
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/canary/middleware.py", line 50, in __call__
[Tue Dec 10 17:24:40 2013] [error]     return self.application(environ, start_response)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/wsgi/handler.py", line 129, in __call__
[Tue Dec 10 17:24:40 2013] [error]     response = self._render(req)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/wsgi/handler.py", line 120, in _render
[Tue Dec 10 17:24:40 2013] [error]     result = self.appli.handle_request(req, path)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/application.py", line 378, in main_handle_request
[Tue Dec 10 17:24:40 2013] [error]     content = self.core_handle(req, path)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/application.py", line 458, in core_handle
[Tue Dec 10 17:24:40 2013] [error]     result = controller.publish(rset=rset)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/views/basecontrollers.py", line 136, in publish
[Tue Dec 10 17:24:40 2013] [error]     rset=rset, view=view)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/cwvreg.py", line 398, in main_template
[Tue Dec 10 17:24:40 2013] [error]     res = obj.render(**kwargs)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/view.py", line 137, in render
[Tue Dec 10 17:24:40 2013] [error]     view_func(**context)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/views/basetemplates.py", line 131, in call
[Tue Dec 10 17:24:40 2013] [error]     self.template_header(self.content_type, view)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/views/basetemplates.py", line 156, in template_header
[Tue Dec 10 17:24:40 2013] [error]     self.template_html_header(content_type, page_title, additional_headers)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/views/basetemplates.py", line 169, in template_html_header
[Tue Dec 10 17:24:40 2013] [error]     self.wview('htmlheader', rset=self.cw_rset)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/view.py", line 243, in wview
[Tue Dec 10 17:24:40 2013] [error]     self._cw.view(__vid, rset, __fallback_vid, w=self.w, **kwargs)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/req.py", line 349, in view
[Tue Dec 10 17:24:40 2013] [error]     return view.render(w=w, **kwargs)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/view.py", line 137, in render
[Tue Dec 10 17:24:40 2013] [error]     view_func(**context)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/views/basetemplates.py", line 300, in call
[Tue Dec 10 17:24:40 2013] [error]     self.alternates()
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/views/basetemplates.py", line 326, in alternates
[Tue Dec 10 17:24:40 2013] [error]     %  xml_escape(urlgetter.feed_url()))
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/views/xmlrss.py", line 208, in feed_url
[Tue Dec 10 17:24:40 2013] [error]     return entity.cw_adapt_to('IFeed').rss_feed_url()
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubes/tag/views.py", line 308, in rss_feed_url
[Tue Dec 10 17:24:40 2013] [error]     return self._cw.build_url(rql=rql, vid='rss', vtitle=self.entity.dc_title())
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/web/request.py", line 734, in build_url
[Tue Dec 10 17:24:40 2013] [error]     return super(CubicWebRequestBase, self).build_url(*args, **kwargs)
[Tue Dec 10 17:24:40 2013] [error]   File "/home/arthur/src/public/cubicweb/cubicweb/req.py", line 247, in build_url
[Tue Dec 10 17:24:40 2013] [error]     return u'%s%s?%s' % (base_url, path, self.build_url_params(**kwargs))
[Tue Dec 10 17:24:40 2013] [error] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 15: ordinal not in range(128)

Is it a bug in cubicweb or a misconfiguration of apache+mod_wsgi ?

prioritynormal
typebug
done in<not specified>
load0.000
load left0.000
closed by<not specified>