Sudden error: SyntaxError: Non-ASCII character '\xc2' in file

Benjamin Kaplan benjamin.kaplan at case.edu
Wed Mar 30 10:52:27 EDT 2011


On Wed, Mar 30, 2011 at 10:34 AM, Gnarlodious <gnarlodious at gmail.com> wrote:
> RSS script runs fine on my dev machine but errors on the server
> machine. Script was last run 3 days ago with no problem. Possible
> clue: dev machine is (Mac OSX) running Python 3.1.1 while server is
> running Python 3.1.3. I have not updated anything that should suddenly
> cause this error starting yesterday.
>
> The error originates at '·' which string contains a ·
> character.
>
> Complete error message is:
>
> SyntaxError: Non-ASCII character '\xc2' in file /Library/WebServer/
> Sites/Sectrum/Site/Feed.py on line 17, but no encoding declared; see
> http://www.python.org/peps/pep-0263.html for details
>
> Any help how to fix this and why it suddenly started erroring 2 days
> ago...
>
> -- Gnarlie

You don't have a &middot character. Your computer doesn't understand
"characters". You have the byte sequence \xc2\xb7. When you have a
Unicode string (the default in Python 3), Python needs some way of
converting the byte sequence to a character sequence. The way it does
that is through the encoding. But you don't have an encoding
specified, so rather than guess, Python is falling back on the lowest
common denominator: ASCII, which doesn't understand the byte \xc2-
hence the error.

To fix this, just put the line
# coding=utf-8
at the very top of the code file.

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



More information about the Python-list mailing list