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» на кодировку вашего текста

  • Как работает addStretch в QBoxLayout?
  • Как заменить Widget другим с помощью Qt?
  • Как сделать столбцы QTableWidget максимально допустимыми?
  • Добавление данных в QTableWidget с использованием PyQt4 в Python
  • cx_freeze: драйвер QODBC не загружен
  • Гиперссылки в QTreeView без QLabel
  • Диалог входа в систему PyQt
  • Скрипт Python с QGis - Python.exe Остановлена ​​работа
  • почему нет ссылки между приложением и виджетами?
  • Создайте меню PyQt из списка строк
  • Ctrl-C не работает с PyQt
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.