UnicodeEncodeError: 'ascii'编解码器无法对第0-6个字符进行编码:这个数字不在128的范围内。

6

我尝试了所有能找到的解决方案,但似乎都没有起作用:

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

I'm writing in greek by the way...

3个回答

16

我不再出现错误了,但是当我将文本写入一个 .xls 文件时,打开 .xls 文件后它什么也没有显示... - Antoni4040
1
请阅读我在答案中包含的文章;您需要找出需要使用的编码方式。 - Martijn Pieters
teext = unicode(self.tableWidget.item(row, col).text()) 似乎解决了问题... 不管怎样,非常感谢你的帮助... - Antoni4040

2
尝试在开头加入以下代码,这完美地解决了我的问题。
import sys
reload(sys)
sys.setdefaultencoding('utf8')

1
teext = self.tableWidget.item(row, col).text().decode('utf-8')

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接