Запрос:
query = "SELECT * from "+str(tablename)+" where user='"+str(user)+"' AND review_title='"+rt+"'"
Сообщение об ошибке:
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 3: ordinal not in range(128)
Код:
rt = review_title.replace("'", "\\'")
rt = rt.replace('"', '\\"')
rt = unicode(rt).encode('utf-8')
query = "SELECT * from "+str(tablename)+" where user='"+str(user)+"' AND review_title='"+rt+"'"
В этом случае имя таблицы — 'ta_rest_review'
, user
— 'KANNONEPL...'
, а rt
— 'Excelente pero \"OJO a la CUENTA\"'
.
é
где-то в ваших значениях, но в вашем образце ввода этот символ отсутствует. - person Martijn Pieters   schedule 26.10.2014query
, то символé
с акцентом находится либо в значенииuser
, либо в значенииtablename
. - person Martijn Pieters   schedule 26.10.2014UnicodeEncodeError
вызвана вызовомstr()
для объектаunicode
с символами за пределами допустимого диапазона ASCII, что является совершенно другой проблемой из сообщения вы прокомментировали ранее. - person Martijn Pieters   schedule 26.10.2014