python - Unicode编码错误: 'ascii' codec can't encode character u'\u2029'

标签 python qt pyqt

当我尝试将 QString 转换为常规 python 字符串时,出现此错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2029' in position 3: ordeal not in range(128)

我所做的就是这样:

str(string)

string 是 QString 但它随后给了我这个错误。我该如何解决这个问题?

最佳答案

Python 2.x 中的名称 str 具有误导性;由于历史原因,str 是字节 - 字节字符串而不是字符。如果您尝试将字符串转换为字节串,Python 默认使用 ASCII。在Python 2.x下只需使用unicode(string)来获取字符串,或者切换到3.x,其中str实际上是一个字符串类型。

关于python - Unicode编码错误: 'ascii' codec can't encode character u'\u2029',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19338024/

相关文章:

python - QLineEdit PyQT5 输入上的火柴盒键盘

python - QCoreApplication.processEvents 行为

python - Django Rest Framework - 'module' 对象没有属性 'HStoreField'

python - 如何在 Python 中创建包含列表输入的变量

python - tkinter Python 中的按钮位置(网格)

c++ - QMessageBox消失

c++ - qml : data models in models 中的嵌套列表

python - 在 QTableView 中显示分层模型项的详细信息

python - 存储过程未使用 sqlalchemy/pyodbc 提交

c++ - 如何从 QTableWidgetItem 中提取显示的文本?