"pythonshell in" 节点失败,因为输出中有撇号

"pythonshell in" node failing because there's an apostrophe in the output

我正在使用 Python 脚本,目前 returns BBC 上的 playing/on 广播 DJ。以为它没有错误,但现在我发现如果输出中有(奇怪的)撇号“'”,它就会失败。我能以某种方式解决这个问题吗?

exit code: 1, Traceback (most recent call last):
  File "script2.py", line 17, in <module>
    print g_data[5].text
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 7: ordinal not in range(128)

这是输出

Clara Amfo
Radio 1 Dance
Ace
Ken Bruce
Essential Classics
Hip-hop’s Laughing Stock
Desert Island Discs Revisited
The Emma Barnett Show
Cricket
Mary Anne Hobbs

这里的问题是字符串中的 不是 ascii。 ascii 等价物是 ',注意区别。

打印时出现 unicode 错误在 Python 中很常见,您需要做的是在打印之前对字符串进行编码。

例如

print g_data[5].text.encode('utf-8')

可以在 Python 文档中找到更多信息 - https://docs.python.org/2.7/howto/unicode.html#the-unicode-type