Форум сайта python.su
Собственно сабж. Пишу icq чат. Использую twisted. При отправке сообщения на кириллице на другой клиент приходят каракули, иероглифы и прочая хрень. Пробывал отсылать в разных кодировках: unicode, utf-8, cp1251 толку ноль. Пробывал также отслать в той самой кодировке что приходит от клиента (кодировку определял chardet). Подскажите пожалуйста как решить эту проблему.
Офлайн
utf16be
Офлайн
Не помагает, вот кусок кода
help = "привет, это icq чат".decode("utf-16be","replace")
print help
self.sendMessage(user.name, help)
Отредактировано (Май 18, 2011 17:42:45)
Офлайн
конечно не помогает. Нужно
u“Привет”.encode('utf-16be')
Офлайн
всё равно крякобрязы, вот такие
x4;?x4;@x4;8x4;2x4;5x4;B
Офлайн
u"Привет".encode('cp1251')
Офлайн
Пробывал, не катит, я так понял что на каждый клиент нужна своя кодировка. Самый тупой клиент это qutim от него сообщения приходят в разных кодировках. Вот только что послал с него сообщение, скрипт опрделил кодировку как EUC-TW, иногда в ISO-8859-8 приходит. В общем наверное буду побдирать под каждый клиент свою кодировку. Спасибо всем за помощь
Офлайн
Всё, решил проблему. Нужно было явно указать кодировку, вот так
self.sendMessage(user.name, [(u"Hello!, Привет!".encode("cp1251"), "cp1251")])
Офлайн
Можно ли средствами twisted отправить запрос на icq авторизацию?
Офлайн