在使用pyqt的时候,常常需要输入中文,比如在lineEdit控件中使用输入中文。但是直接输入中文,如下图
在读取该控件的时候
就会发生错误,错误提示如下:
print self.lineEdit.text()
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
原因是编码类型不匹配
网上对这个问题的讲解很少,看了不少论坛后,终于找到解决的办法
self.result = unicode(self.lineEdit.text()).encode('utf-8')
将lineEdit的文本内容即QString文本通过修改问utf-8的方式来正确的读取文本中的中文。
以此记录