[Python-modules-team] Bug#816730: UnicodeEncodeError: 'ascii' codec can't encode character u'\\xc4' in German MoinMoin wiki

Mike Gabriel mike.gabriel at das-netzwerkteam.de
Fri Mar 4 12:32:59 UTC 2016


Package: python-werkzeug
Version: 0.9.6+dfsg-1
Severity: important
Justification: the issue breaks German instance of MoinMoin wiki

Hi,

I have just upgraded my python-moinmoin instance from Debian wheezy to  
Debian jessie and stumbled into a very similar error as reported as  
#739077 [1].

The MoinMoin instance reports this message when clicking on  
"AktuelleÄnderungen" (i.e., RecentChange) on all wiki pages:

```
[Fri Mar 04 12:58:20.079030 2016] [cgi:error] [pid 350] [client  
<some-ip>:<some-port>] AH01215: Traceback (most recent call last):,  
referer: https://<moinmoin-server>/StartSeite
[Fri Mar 04 12:58:20.079114 2016] [cgi:error] [pid 350] [client  
<some-ip>:<some-port>] AH01215:   File  
"/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 558,  
in run, referer: https://<moinmoin-server>/StartSeite
[Fri Mar 04 12:58:20.079504 2016] [cgi:error] [pid 350] [client  
<some-ip>:<some-port>] AH01215:     protocolStatus, appStatus =  
self.server.handler(self), referer: https://<moinmoin-server>/StartSeite
[Fri Mar 04 12:58:20.079552 2016] [cgi:error] [pid 350] [client  
<some-ip>:<some-port>] AH01215:   File  
"/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line  
1118, in handler, referer: https://<moinmoin-server>/StartSeite
[Fri Mar 04 12:58:20.079602 2016] [cgi:error] [pid 350] [client  
<some-ip>:<some-port>] AH01215:     result = self.application(environ,  
start_response), referer: https://<moinmoin-server>/StartSeite
[Fri Mar 04 12:58:20.079646 2016] [cgi:error] [pid 350] [client  
<some-ip>:<some-port>] AH01215:   File  
"/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 567, in  
__call__, referer: https://<moinmoin-server>/StartSeite
[Fri Mar 04 12:58:20.079872 2016] [cgi:error] [pid 350] [client  
<some-ip>:<some-port>] AH01215:     cleaned_path =  
cleaned_path.encode(sys.getfilesystemencoding()), referer:  
https://<moinmoin-server>/StartSeite
[Fri Mar 04 12:58:20.079935 2016] [cgi:error] [pid 350] [client  
<some-ip>:<some-port>] AH01215: UnicodeEncodeError: 'ascii' codec  
can't encode character u'\\xc4' in position 9: ordinal not in  
range(128), referer: https://<moinmoin-server>/StartSeite
```

For now, I have fixed my system by applying this patch to werkzeug's  
wsgi.py, but I am sure that is only a work-around:

```
--- /usr/lib/python2.7/dist-packages/werkzeug/wsgi.py.orig	2016-03-04  
13:20:59.000000000 +0100
+++ /usr/lib/python2.7/dist-packages/werkzeug/wsgi.py	2016-03-04  
13:20:22.000000000 +0100
@@ -564,7 +564,10 @@
      def __call__(self, environ, start_response):
          cleaned_path = get_path_info(environ)
          if PY2:
-            cleaned_path = cleaned_path.encode(sys.getfilesystemencoding())
+            try:
+                cleaned_path =  
cleaned_path.encode(sys.getfilesystemencoding())
+            except (UnicodeEncodeError):
+                pass
          # sanitize the path for non unix systems
          cleaned_path = cleaned_path.strip('/')
          for sep in os.sep, os.altsep:
```

light+love,
Mike


[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739077
-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: mike.gabriel at das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/mailxchange/kronolith/fb.php?u=m.gabriel%40das-netzwerkteam.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: Digitale PGP-Signatur
URL: <http://lists.alioth.debian.org/pipermail/python-modules-team/attachments/20160304/ffdecee4/attachment.sig>


More information about the Python-modules-team mailing list