У меня есть IRC-бот, написанный на python, который использует Twisted.
Он может печатать строки не в формате ascii без проблем с self.msg(channel, str.encode('utf-8')
.
Однако я получаю исключения, когда-ascii строка получена с privmsg:
def privmsg(self, user, channel, msg):
msg = msg.encode('utf-8')
user = user.split('!', 1)[0]
[... code goes here...]
Я получаю следующее исключение:
File "/usr/lib64/python2.4/site-packages/twisted/words/protocols/irc.py", line 1498, in handleCommand
method(prefix, params)
File "/usr/lib64/python2.4/site-packages/twisted/words/protocols/irc.py", line 1043, in irc_PRIVMSG
self.privmsg(user, channel, message)
File "./IlyBot.py", line 58, in privmsg
msg = msg.encode('utf-8')
exceptions.UnicodeDecodeError: 'ascii' codec can't decode byte 0xd1 in position 4: ordinal not in range(128)
Кто-нибудь знает, как заставить кодировку быть UTF-8 в полученном сообщенииот privmsg?