处理unicode

时间:2012-10-06 19:12:06

标签: python mediawiki-api

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

1 个答案:

答案 0 :(得分:1)

line 230上你有这个:

'text':text,
此时

text是Unicode,因此您可能希望在此时对其进行编码 我假设MediaWiki想要UTF-8:

'text': text.encode('utf-8'),