Daniele.zambelli ha scritto: > Salve, ho un problema che non riesco a risolvere. > La libreria a cui sto lavorando dà all'utente la possibilità di creare degli > oggetti testo in un canvas di Tkinter. > > Funziona tutto senza problemi se il testo non contiene lettere accentate, se > invece la stringa da visualizzare contiene lettere accentate allora non viene > visualizzato niente.
Ti stai scontrando con i problemi relativi all'encoding del testo. Trovi diversi threads riguardo Unicode. > Esempio: > >>>> Text(ip, 3, 3, 'lettera accentata: è') > > non appare niente. > > Se alla stringa antepongo il carattere "u" allora funziona correttamente: > >>>> Text(ip, 3, 4, u'lettera accentata: è') > > il testo viene visualizzato nella posizione corretta. > > La libreria inizia con la riga: > > # -*- coding: iso-8859-15 -*- > > A complicare la faccenda ho notato che su alcune macchine il mio programma > soffre di questo problema, su altre no. > Dipende da come è impostato l'encoding di sistema. Se usi stringhe normali, e non Unicode, sei in cerca di guai. > [...] > Io vorrei evitare di chiedere all'utente di anteporre la lettera "u" alle > stringhe che contengono caratteri particolari. Come potrei fare? > Il prefisso `u` serve a creare una stringa Unicode. Se non vuoi che i tuoi utenti debbano fare questo, ti conviene passare a Python 3.x, in cui le stringhe sono Unicode di default. > Grazie per l'attenzione. > Ciao Manlio _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python