On Wed, Dec 05, 2012 at 12:13:25PM +0100, Luca Mandolesi wrote:
> 
> quale codifica dare al codice python?


Mi associo a quelli che con Python e Unicode e UTF-8 hanno 
battuto il naso!

Il charset con cui scrivi il sorgente non è fondamentale, sebbene 
sia meglio usare UTF-8 e dichiararlo con lo pseudo-commento 
all'inizio del file stesso.

La parte importante e complicata è gestire correttamente il 
charset durante la vita delle variabili nel programma.

Se può aiutare qui ho preso un po' di appunti, anche se gli 
esempi sono su MySQL credo che la logica sia la stessa con 
PostgreSQL:

https://www.rigacci.org/wiki/doku.php/doc/appunti/prog/python_unicode

In pratica devi sempre assicurarti che le variabili durante la 
vita del programma siano type() = unicode.

Qusto ha il vantaggio - ad esempio - che la lunghezza in una 
stringa della "a accentata" sia 1 carattere, indipendentemente 
dalla codifica (in UTF-8 sono due byte).

Quindi devi stare attento quando leggi dal database a 
decodificare le stringhe. Se hai fatto tutto per bene avviene in 
automatico, altrimenti ti trovi una stringa type() = str e quindi 
la devi forzare con pippo = pippo.decode('utf-8').

Infine devi stare attento a codificare (in utf-8, mi raccomando!) 
le stringhe quando ne fai l'output (a schermo, nel database, su 
file, ecc.).

Spero di non averti confuso ulteriormente!

-- 
Niccolo Rigacci - http://www.rigacci.net/
Firenze - Italy
Tel. Office: +39-055-9331021, Mobile: +39-327-5619352
_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni 
dell'Associazione GFOSS.it.
630 iscritti al 1.12.2012

Rispondere a