UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb6 in position 0: invalid start byte
Dave Angel
davea at davea.name
Thu Jul 4 05:59:22 EDT 2013
On 07/04/2013 04:37 AM, Νίκος wrote:
> I just started to have this error without changing nothing
>
> in my index.html(template) and metrites.py(which ipen the template)
>
> [Thu Jul 04 11:35:14 2013] [error] [client 108.162.229.97] Original
> exception was: [Thu Jul 04 11:35:14 2013] [error] [client
> 108.162.229.97] Traceback (most recent call last): [Thu Jul 04
> 11:35:14 2013] [error] [client 108.162.229.97] File
> "/home/nikos/public_html/cgi-bin/metrites.py", line 19, in <module>
> [Thu Jul 04 11:35:14 2013] [error] [client 108.162.229.97] host =
> socket.gethostbyaddr( os.environ['REMOTE_ADDR'] )[0] or
> 'UnResolved' [Thu Jul 04 11:35:14 2013] [error] [client
> 108.162.229.97] UnicodeDecodeError: 'utf-8' codec can't decode byte
> 0xb6 in position 0: invalid start byte [Thu Jul 04 11:35:14 2013]
> [error] [client 108.162.229.97] Premature end of script headers:
> metrites.py
>
>
> Why cant it decode the starting byte? what starting byte is that?
The error message means that somebody is trying to decode a byte string
into Unicode, and using the utf-8 codec for it. Only certain sequences
are legal in utf-8, and the first byte of a character may not be 0xb6.
So it gives an error. The question is where does this string come from.
Well, the message shows the source line from metrites.py:
host = socket.gethostbyaddr( os.environ['REMOTE_ADDR'] )[0] or 'UnResolved'
So the most likely candidate is the string in the environment named
"REMOTE_ADDR" Can you display that string? it should look like
"11.24.32.4"
or some other valid IP address.
I'm assuming Python 2.7. You should specify the python version when
starting a new thread, as we (or at least I) cannot keep track of what
version everyone's running.
--
DaveA
More information about the Python-list
mailing list