Problem with character encoding in commandline

G

gialloporpora

Dear all,
I have a strange problem that I am not able to solve myself.
I have written a little Python script to download image from last.fm,
now, if I call it from the python environment it works, if I call it
from Windows console it doesn't works


If I open the prompt and run python I call the function:
(the code is at the end of message)I obtain this result:
%C3%A9
that is the correct output.

if I open the windows console (cmd) without enter in Python envinroment,
and I call script from commandline:

lastfm.py é

the result is:
%C3%9A

that is not the same and I don't understand the reason.

If I give the command : chcp from console I have:
Active code page: 850
the same code table that I see using the sys.stdin.encoding inside
Python envinroment.
Someone know where I make wrong ?

Thanks
Sandro

My code (only the parts that not works)

======================
import sys
from urllib import quote_plus
def decodeArgs(s):
return quote_plus(s.decode(sys.stdin.encoding).encode("utf-8"))
if __name__ == '__main__':
args=sys.argv[1]
print decodeArgs(args)
======================
 
G

gialloporpora

Risposta al messaggio di gialloporpora :
Dear all,
I have a strange problem that I am not able to solve myself.


Ok, I have solved my problem, sorry for the post.
First I had no view this function:
sys.getfilesystemencoding()

that return the console encoding, sorry.
Sandro



*gialloporpora: Alex Faaborg - » Browsing Your Personal Web
http://ff.im/9JDwm * - http://sn.im/shv8b
*Massimo Bubola - Cuori Ribelli * - http://sn.im/sivjx
* FAQ* di /it-alt.comp.software.mozilla/: http://bit.ly/1MZ04d
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,968
Messages
2,570,153
Members
46,699
Latest member
AnneRosen

Latest Threads

Top