[Python] Supporto ai caratteri accentati.
Daniele Varrazzo
piro a develer.com
Mer 8 Maggio 2013 18:49:29 CEST
On 2013-05-08 16:57, Gabriel Battaglia (Kriyaban) wrote:
> GB: attenzione, momento quasi storico... Tento la mia prima risposta
> in lista!
Rullo di tamburi... :)
> Prova a mettere una u davanti alla stringa da passare:
> u"Perchè così?"
> u"Perchè di sì!"
Questo è giusto, ma non basta. In che encoding è salvato il file? Se è
in latin1 la tua i accentata sarà rappresentata dal byte 0xEC; se è in
utf8 sarà la coppia di byte 0xC3 0xAC. Se non si conosce questa
informazione diventa difficile sapere chsa voglia dire 0xEC: per esempio
interpretata in un encoding russo (koi8-r) 0xEC rappresenta la lettera
"Л" (la L maiuscola in cirillico). E così via, incasinando...
Il "commento magico" in cima ai sorgenti Python serve a specificare
cosa vogliono dire i caratteri con valore ascii > 127 nel sorgente.
Senza di quello toccherebbe tirare a indovinare (come fa Notepad,
regolarmente scazzando
<http://www.hoax-slayer.com/bush-hid-the-facts-notepad.html>) mentre
Python preferisce tirare un'eccezione nel dubbio.
--
Daniele Varrazzo - Develer S.r.l.
http://www.develer.com
Maggiori informazioni sulla lista
Python