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

Stephan Diehl stephan.diehl at gmx.net
Fre Feb 10 12:13:20 CET 2006


On Friday 10 February 2006 12:02, Diez B. Roggisch wrote:
> > Wahrscheinlich bekommst du die Daten utf-8 codiert (ja, manche browser
> > machen das).
>
> Nein, UTF-8 ist das was er bekommt nicht, s.u.
>
> > Swish-e kann mit unicode so gar nichts anfangen.
>
> UTF-8 ist _nicht_ unicode. UTF-8 ist ein encoding genauso wie latin1 - nur
> das es durch entsprechende escape-sequenzen _alle_ unicode-zeichen codieren
> kann. Ich betone das hier so, weil eine Menge Leute das durcheinanderwerfen
> und dann Probleme entstehen.
>
> Auch wenn ich unten sehe das du das verstanden hast - genug andere Leute
> leider nicht.

Sorry, du hast vollkommen recht. Das hab ich sehr, sehr unsauber formuliert.
(Und ich gebe zu, dass ich auch lange Zeit utf8 (als codierung) und unicode 
durcheinandergeworfen habe).

>
> > 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 wäre richtig, wenn es denn UTF-8 wäre :)  Aber
>
> >>> u'äöü'.encode("latin1")
>
> '\xe4\xf6\xfc'

stimmt. manchmal hilft es erst nachzudenken und dann zu schreiben :-)

>
> zeigt, das die Bytewerte die er bekommt latin1 sind. Er macht sich IMO
> unnötig Sorgen, alles was passiert ist das er seine strings eben als
> repr(s) ausgibt und nicht mittels print. Dann bekommen die ihre
> hex-darstellung statt als bytes ans terminal geschickt zu werden, was dann
> die entsprechenden Zeichen draus macht.

Wahrscheinlich hatte ich die Frage falsch interpretiert:
Ich dachte, dass Stefan keine Treffer hat (obwohl welche da sein sollten), 
wenn der Suchbegriff Umlaute enthaelt.
Aber ich gebe zu, dass das da nicht so steht. Vielleicht kann Stefan ja seine 
Frage mal praezisieren.

Stephan
>
>
> MfG Diez
>
> _______________________________________________
> python-de maillist  -  python-de at python.net
> http://python.net/mailman/listinfo/python-de