我为runescape wiki开发了mwhair。我一直遇到unicode的问题,每当我有,让我们说一个看起来像这样的页面:
This is a page, that has words
To go here to there follow these directions:
Backwards « Forwards
That is all
如果只是mwhair.edit('Page above')
,我会收到一个unicode错误。
我尝试通过以下方式解决这个问题:
text = mwhair.edit('Page above').encode('ascii','xmlcharrefreplace')
mwhair.save('Page above',text=text)
这似乎是一个解决方案,因为不会出现错误,但它会改变页面的某些内容,例如将行更改为:
Backwards « Forwards
这不影响任何链接,图片或实际页面输出,但使得bot看起来好像有错误。有什么东西我搞砸了或者不知道吗? (我正在使用python 2.7.3)
答案 0 :(得分:1)
在line 230上你有这个:
'text':text,
此时 text
是Unicode,因此您可能希望在此时对其进行编码
我假设MediaWiki想要UTF-8:
'text': text.encode('utf-8'),