diff --git a/plugins/String/plugin.py b/plugins/String/plugin.py index cbacafd3f..bcfc1caa4 100644 --- a/plugins/String/plugin.py +++ b/plugins/String/plugin.py @@ -79,7 +79,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: