UnicodeEncodeError when not running script from IDE
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Tue Feb 12 06:43:00 EST 2013
Magnus Pettersson wrote:
> I am using Eclipse to write my python scripts and when i run them from
> inside eclipse they work fine without errors.
>
> But almost in every script that handle some form of special characters
> like swedish åäö and chinese characters etc
A comment: they are not "special" characters. They're merely not American.
> i get Unicode errors when
> running the script externally with python.exe or pythonw.exe (but the
> scripts run completely fine from within Eclipse (standard pydev projects,
> python2.7). I have usually launched the script gui from wihin eclipse
> because of this error but now i want to get the bottom of this so i dont
> have to open eclipse everytime i want to run a script!
>
> Here is the error i get now when running the script with python.exe:
> UnicodeEncodeError:'charmap' codec cant encode character u'\u898b' in
> position 32: character maps to <undefined>
Please show the *complete* traceback, including the line of code that causes
the exception.
> what can i do to fix this?
My guess is that you are trying to print a character which your terminal
cannot display. My terminal is set to use UTF-8, and so it can display it
fine:
py> c = u'\u898b'
py> print(c)
見
(or at least it would display fine if the font used had a glyph for that
character). Why there are still terminals in the world that don't default
to UTF-8 is beyond me.
If I manually change the terminal's encoding to Western European ISO 8859-1,
I get some moji-bake:
py> print(c)
è¦
I can't replicate the exception you give, so I assume it is specific to
Windows.
--
Steven
More information about the Python-list
mailing list