【发布时间】:2013-06-12 06:50:14
【问题描述】:
在使用 wx.TextCtrl 的文本编辑器中,字母键 (a-z) 数字键 (0-9) 映射到 unicode 值。
遇到错误的行如下,
self.statusbar.SetStatusText(engine.roman2mal(self.word.decode('utf-8')),0)
错误信息如下,
Traceback (most recent call last):
File "F:\EZHUTHANI_WIN\ezhuthani\beditor.py", line 498, in PreviewConv
self.statusbar.SetStatusText(engine.roman2mal(self.word.decode('utf-8')),0)
File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
有没有办法映射这些键(Enter、空格键、Backspace)?其他键映射如下,
keymap = {}
keymap['a'] = u'\u0D05';
keymap['A'] = u'\u0D06';
【问题讨论】:
-
我可以要代码吗?
-
上一次编辑时添加的代码...
-
这与 wxWidgets 无关,错误发生在
codecs.utf_8_decode中,正如回调清楚地表明的那样,因此您的word不包含有效的 UTF-8 字符串。 -
这个错误只发生在退格键、空格键和回车键上
-
你有什么函数使用.decode吗?如果是,请发布代码
标签: python-2.7 wxpython wxwidgets wx.textctrl