проблема с кодировкой

 
0
 
Python
ava
exe1389 | 17.08.2011, 15:37
При работе программы периодически выдает ошибку вида:

Warning (from warnings module):
File "D:\бот\monitor_fix2\monitor (1).py", line 135
c.execute(sql.encode(config.ENCODING,'ignore'))
Warning: Incorrect string value: '\x88\xD1\x82 ) ...' for column 'productName' at row 1

а после :

Traceback (most recent call last):
File "D:\бот\monitor_fix2\monitor (1).py", line 152, in <module>
writeToDb(key,art[key][0],server+"/"+tovar,factory,collection,art[key][1])
File "D:\бот\monitor_fix2\monitor (1).py", line 127, in writeToDb
result=c.execute(sql)
File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler
raise errorclass, errorvalue
OperationalError: (1267, "Illegal mix of collations (utf8_bin,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '='")
>>>

что значат эти ошибки?
ошибки в коде программы или в кодировке бд?
Kommentare (5)
ava
leshiy_AlisA | 17.08.2011, 15:07 #
CREATE TABLE покажи пожалуйста
ava
exe1389 | 17.08.2011, 15:32 #
leshiy_AlisA, а точно там была кодировка utf8-general_ci, а поставил bin все почти нормально стало работать, только букву "Ш" не видит:(
ava
leshiy_AlisA | 18.08.2011, 12:09 #
ты работаешь под виндой, ставь cp1251, может помочь
ava
Absinthe | 21.08.2011, 12:52 #
Цитата


ты работаешь под виндой, ставь cp1251, может помочь

Куда ставить?
Файлы писать в ней глупо, для базы использовать глупо, куда еще поставить - не пойму.

Цитата


что значат эти ошибки?

А файлы у тебя случайно не в 1251?
ava
mrDoctorWho | 29.10.2011, 11:58 #
Лучше бы код посмотреть.

Как вариант - установка кодировки cp1251 по умолчанию.
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden