[Python-de] os.popen() und Umlaute?

Stephan Diehl stephan.diehl at gmx.net
Fre Feb 10 11:51:48 CET 2006


Hallo Stefan,

On Friday 10 February 2006 11:34, Stefan J. Betz wrote:
> Hallo,
>
> ich habe eine kleines Problem:
>
> Ich schreibe gerade ein CGI-Script für Swish-E, nur leider habe ich ein
> kleine Problem damit, wenn ich das Suchformular mit äöü usw. Fülle, dann
> passiert das hier:
> ['# SWISH format: 2.4.3\n', '# Search words: halloa \xe4 \xf6 \xfc \xdf
> duda\n', '# Removed stopwords: \n', 'err: no results\n', '.\n']

Wahrscheinlich bekommst du die Daten utf-8 codiert (ja, manche browser machen 
das). 
Swish-e kann mit unicode so gar nichts anfangen. 
Kodier die Daten erst in 'latin-1', bevor du sie swish-e uebergibst.
Komplet ungetested :-) koennte folgendes eventuell funktionieren

suchunicode = unicode(suchbegriff,'utf8')
suchlatin1 = suchunicode.encode('latin-1')

>
> ( Das ist die Ausgabe von print os.popen().readlines() )
>
> Wie kann ich dafür sorgen das os.popen() an Swish-E die Umlaute
> weiterreicht?
>
> mfg Betz Stefan

Viel Spass beim unicoden

Stephan