UnicodeEncodeError: кодек ascii не может кодировать символы в позиции 0-6: порядковый номер не в диапазоне (128)

«Я пробовал все решения, которые мог найти, но ничего не работает:

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

Кстати, я пишу на греческом языке …

2 Solutions collect form web for “UnicodeEncodeError: кодек ascii не может кодировать символы в позиции 0-6: порядковый номер не в диапазоне (128)”

Очевидно, что self.tableWidget.item().text() возвращает Unicode, и вместо этого вам нужно использовать метод decode :

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

Вы действительно хотите просмотреть Python Unicode HOWTO, чтобы полностью оценить разницу между объектом unicode и его байтовой кодировкой.

Еще одна замечательная статья – «Абсолютный минимум». Каждый разработчик программного обеспечения абсолютно уверен, должен знать о юникоде и наборах символов (никаких оправданий!) , Джоэл Спольски (один из людей за переполнением стека).

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

Заменить «utf-8» на кодировку вашего текста

  • Pycharm, PyQt5 и Python 2.7 - Нет завершения кода
  • Пользовательский виджет в ScrollArea раздавлен!
  • Настройка и получение «данных» из элементов виджетов PyQt?
  • Qt5 и QtQuick 2 для Python 2.7
  • pyQt4: подкласс QWidget не отвечает на новый цвет фона setStyleSheet ()
  • Ctrl-C не работает с PyQt
  • PyQt: Программирование программ QT Widgets
  • Настройка Qtconsole IPython с помощью PyQt5
  • Python - лучший язык программирования в мире.