diff --git a/plugins/String/plugin.py b/plugins/String/plugin.py index 96da6855f..93f8942e8 100644 --- a/plugins/String/plugin.py +++ b/plugins/String/plugin.py @@ -81,7 +81,12 @@ class String(callbacks.Plugin): . """ try: - irc.reply(text.decode(encoding).encode('utf-8')) + s = text.decode(encoding) + # Not all encodings decode to a unicode object. Only encode those + # that do. + if isinstance(s, unicode): + s = s.encode('utf-8') + irc.reply(s) except LookupError: irc.errorInvalid('encoding', encoding) except binascii.Error: