I try to use rewrite lately, but I encounter something difficult to reslove.
--------
import pywikibot
class TestBot:
def run(self):
pywikibot.output(pywikibot.input('a'))
def main():
bot = TestBot()
bot.run()
if __name__ == "__main__":
try:
main()
finally:
pass
----------
While test case is "pwb test"
When I type "字母频率", which "频" is not supported by cp950, it shows "
字母?率" but "字母频率" is expected. In the same time, while using the
same script in Pywikipedia, it correctly shows "字母频率.
Here is something stranger, if "学校" is used, the following error is given:
D:\pywikipedia>pwb test
a 学校
Traceback (most recent call last):
File "D:\pywikipedia\pwb.py", line 50, in <module>
execfile(sys.argv[0])
File "D:\pywikipedia\scripts\self\test.py", line 21, in <module>
main()
File "D:\pywikipedia\scripts\self\test.py", line 17, in main
bot.run()
File "D:\pywikipedia\scripts\self\test.py", line 13, in run
pywikibot.output(pywikibot.input('a'))
File "D:\pywikipedia\pywikibot\bot.py", line 450, in input
data = ui.input(question, password)
File "D:\pywikipedia\pywikibot\userinterfaces\terminal_interface.py",
line 196, in input
text = unicode(text, config.console_encoding)
UnicodeDecodeError: 'cp950' codec can't decode bytes in position 0-1:
illegal multibyte sequence
When I try to do some tests myself, print(self.encoding) of
terminal_interface_base.py of pywikipedia gives utf-8, while
config.console_encoding of terminal_interface.py of rewrite gives cp950.
Can somebody help?