5

我已经尝试了所有我能找到的解决方案,但似乎没有任何效果:

teext = str(self.tableWidget.item(row, col).text())

顺便说一句,我用希腊文写...

4

3 回答 3

16

显然,self.tableWidget.item().text()返回 Unicode,而您需要改用该decode方法:

self.tableWidget.item(row, col).text().encode('utf8')

您真的很想查看Python Unicode HOWTO以充分了解 unicode 对象和它的字节编码之间的区别。

另一篇优秀的文章是Joel Spolsky(Stack Overflow 背后的人之一)的 The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses! )。

于 2012-08-08T13:28:02.063 回答
2

尝试将以下代码放在开头
它完美地解决了我的问题

import sys
reload(sys)
sys.setdefaultencoding('utf8')
于 2018-04-01T07:26:37.083 回答
1
teext = self.tableWidget.item(row, col).text().decode('utf-8')

将“utf-8”替换为您的文本编码

于 2012-08-08T13:28:11.510 回答