Собственно сабж. Пишу icq чат. Использую twisted. При отправке сообщения на кириллице на другой клиент приходят каракули, иероглифы и прочая хрень. Пробывал отсылать в разных кодировках: unicode, utf-8, cp1251 толку ноль. Пробывал также отслать в той самой кодировке что приходит от клиента (кодировку определял chardet). Подскажите пожалуйста как решить эту проблему.
Андрей Светлов
Май 18, 2011 17:00:41
utf16be
__ALEN__
Май 18, 2011 17:36:27
Не помагает, вот кусок кода
help = "привет, это icq чат".decode("utf-16be","replace") print help self.sendMessage(user.name, help)
Если без аргумента “replace” то выдаёт ошибку
Андрей Светлов
Май 18, 2011 17:51:09
конечно не помогает. Нужно u“Привет”.encode('utf-16be')
__ALEN__
Май 18, 2011 18:24:50
всё равно крякобрязы, вот такие
x4;?x4;@x4;8x4;2x4;5x4;B
sypper-pit
Май 19, 2011 23:57:57
u"Привет".encode('cp1251')
проверял ?
__ALEN__
Май 20, 2011 11:20:44
Пробывал, не катит, я так понял что на каждый клиент нужна своя кодировка. Самый тупой клиент это qutim от него сообщения приходят в разных кодировках. Вот только что послал с него сообщение, скрипт опрделил кодировку как EUC-TW, иногда в ISO-8859-8 приходит. В общем наверное буду побдирать под каждый клиент свою кодировку. Спасибо всем за помощь
__ALEN__
Май 22, 2011 17:24:34
Всё, решил проблему. Нужно было явно указать кодировку, вот так