0

我为 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

这不会影响任何链接、图片或实际页面输出,但会使机器人看起来好像有错误。有什么我搞砸或不知道的吗?(我使用的是 python 2.7.3)

4

1 回答 1

1

第 230 行,你有这个:

'text':text,

text那时是 Unicode,所以你可能想在那时对其进行编码。
我假设 MediaWiki 想要 UTF-8:

'text': text.encode('utf-8'),
于 2012-10-06T19:16:13.937 回答