在使用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的方式來正確的讀取文本中的中文。
以此記錄