Я использую MySQLdb, я использую:
cursor.execute(QUERY)
Где QYERY:
INSERT (A,B,C) VALUES("%s","%s",something);'%(k1, u'W')**
w Это персидская буква (буквально это! Я просто заменила ее на W, если у вас возникли проблемы с просмотром персидских букв, это что-то вроде ب), а k1 - английский. но я получаю:
`Traceback (most recent call last):
File "./i.py", line 47, in <module>
c.doit(db)
File "./i.py", line 41, in doit
db.cr.execute('INSERT (A,B,C) VALUES("%s","%s",something);'%(k1, u'ب'))
File "/usr/lib/pymodules/python2.7/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/pymodules/python2.7/MySQLdb/connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.ProgrammingError: (1064, 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'(term_tit,term_desc,term_cat) VALUES("a\n","\xd8\xa8",general)\' at line 1')`
См? буква W превращается в "\ xd8 \ xa8" Что мне делать?
Обновление: ошибка в sql-запросе исправлена, НО проблема \ xd8 \ xa8 сохраняется,
Теперь при получении данных из базы данных я получаю « ?????? » вместо того, что я ввел