Я хочу преобразовать возвращаемое значение Gtk.Clipboard.get() в utf-8.
gtk3
from gi.repository import Gtk, Gdk
def main():
clip = Gtk.Clipboard.get (Gdk.SELECTION_PRIMARY)
text=clip.wait_for_text ()
print text
text=text.encode("utf-8")
print text
main()
Он работает только тогда, когда выделенный текст содержит только символы ascii, но если есть некоторые национальные символы (французский/немецкий и т. д.), я получаю сообщение об ошибке от функции text.encode(..): UnicodeDecodeError: кодек ascii не может декодировать байт 0xc3 в позиции 1: порядковый номер не в диапазоне(128)
У вас есть идея, в чем проблема и как заставить работать версию gtk3?
Это работает правильно, когда я использую функцию gtk.clipboard_get() gtk2:
import gtk
def main():
clip = gtk.clipboard_get ('PRIMARY')
text=clip.wait_for_text ()
print text
text=text.encode("utf-8")
print text
main()
с уважением