Encodign issue in Python 3.3.1 (once again)

Νίκος Γκρ33κ nikos.gr33k at gmail.com
Sun May 26 12:36:29 EDT 2013


This is the code that although correct becaus it works with englisg(standARD ASCII letters) it wont with Greek:

if( log ):
	name = log
	# print specific client header info
	cur.execute('''SELECT hits, money FROM clients WHERE name = %s''', (name,) )
	data = cur.fetchone()
=======================

The following is the live output of: tail -F /usr/local/apache/logs/error_log &


[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11] Error in sys.excepthook:, referer: http://superhost.gr/cgi-bin/pelatologio.py
[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11] UnicodeEncodeError: 'ascii' codec can't encode characters in position 2050-2056: ordinal not in range(128), referer: http://superhost.gr/cgi-bin/pelatologio.py
[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11] , referer: http://superhost.gr/cgi-bin/pelatologio.py
[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11] Original exception was:, referer: http://superhost.gr/cgi-bin/pelatologio.py
[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11] Traceback (most recent call last):, referer: http://superhost.gr/cgi-bin/pelatologio.py
[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11]   File "pelatologio.py", line 122, in <module>, referer: http://superhost.gr/cgi-bin/pelatologio.py
[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11]     cur.execute('''SELECT hits, money FROM clients WHERE name = %s''', (name,) ), referer: http://superhost.gr/cgi-bin/pelatologio.py
[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11]   File "/opt/python3/lib/python3.3/site-packages/pymysql/cursors.py", line 108, in execute, referer: http://superhost.gr/cgi-bin/pelatologio.py
[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11]     query = query.encode(charset), referer: http://superhost.gr/cgi-bin/pelatologio.py
[Sun May 26 19:24:04 2013] [error] [client 46.12.46.11] UnicodeEncodeError: 'latin-1' codec can't encode characters in position 46-52: ordinal not in range(256), referer: http://superhost.gr/cgi-bin/pelatologio.py


I can udnerstand that this is an encoding issue but i dont knwo how to fix this.
please help.

The search works only for english letters as expected but my cleints have Greek name and surnames.



More information about the Python-list mailing list