0

runescapewiki用にmwhairを開発しました。私はユニコードの問題に遭遇し続けていますが、私が持っているときはいつでも、次のようなページを考えてみましょう:

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 に答える