En Wed, 18 Feb 2009 10:09:24 -0200, SMALLp <po...@email.t-com.hr> escribió:

Hy.
I'm playing with os.popen function.
a = os.popen("somecmd").read()

If one of the lines contains characters like "è", "æ"or any other it loks
line this "velja\xe8a 2009" with that "\xe8". It prints fine if i go:

for i in a:
    print i:


'\xe8' is a *single* byte (not four). It is the 'LATIN SMALL LETTER E WITH GRAVE' Unicode code point u'è' encoded in the Windows-1252 encoding (and latin-1, and others too). This is the usual Windows encoding (in "Western Europe" but seems to cover a much larger part of the world... most of America, if not all).

When you *look* at some string in the interpreter, you see its repr() (note the surrounding quotes). When you *print* some string, you get its contents:

py> s = "ma mère"
py> s
'ma m\x8are'
py> print s
ma mère
py> print repr(s)
'ma m\x8are'

How to solve this and where exectly is problem with print or read! Windows
XP, Python 2.5.4

There is *no* problem. You should read the Unicode howto: <http://docs.python.org/howto/unicode.html>
If you still think there is a problem, please provide more details.

--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to