Print encoding problems in console
Pedro Abranches
pedrof.abranches at gmail.com
Fri Jul 15 20:02:57 EDT 2011
More information about the Python-list mailing list
Fri Jul 15 20:02:57 EDT 2011
- Previous message (by thread): Is there a Programming FAQ for Python 3.x?
- Next message (by thread): Print encoding problems in console
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hello everyone. I'm having a problem when outputing UTF-8 strings to a console. Let me show a simple example that explains it: $ python -c 'import sys; print sys.stdout.encoding; print u"\xe9"' UTF-8 é It's everything ok. Now, if you're using your python script in some shell script you might have to store the output in some variable, like this: $ var=`python -c 'import sys; print sys.stdout.encoding; print u"\xe9"'` And what you get is: Traceback (most recent call last): File "<string>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 0: ordinal not in range(128) So, python is not being able to detect the encoding of the output in a situation like that, in which the python script is called not directly but around ``. Why does happen? Is there a way to solve it either by python or by shell code? Thanks, Pedro Abranches -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-list/attachments/20110716/4b7b3ee0/attachment.html>
- Previous message (by thread): Is there a Programming FAQ for Python 3.x?
- Next message (by thread): Print encoding problems in console
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list