Cristian Re ha scritto:
Ti ringrazio per la risposta ma continuo ad avere dubbi sul metodo da utilizzare. Mettiamo ad esempio che io debba leggere un file codificato in 'latin-1' se non tocco l'encoding alcuni caratteri non saranno riconosciuti perché non presenti nel set di default di python. Per cui come faccio ad impostare l'encoding del file. Ad esempio se devo leggere un file di testo posso impostare in qualche modo che il contenuto del file che andrò a leggere sarà codificato in un certo modo?
Il contenuto del file che leggi, lo gestisci con le stringhe (str) o con unicode lato Python?
Se lo gestisci in unicode, codecs.open() ti permette di convertire i dati trasparentemente in unicode in lettura e (ad esempio) in latin1 in scrittura.
Per quanto riguarda i database, credo dipenda dal driver. Per esempio con psycopg2 (l'unico di cui ho esperienza diretta a proposito) devi specificare in che encoding gli parli con connection.set_client_encoding('LATIN1') e in che modo vuoi ricevere le stringhe con extensions.register_type(extensions.UNICODE)
Se gestisci questi dati con stringhe normali, allora non ho capito che tipo di problema hai né quando si verifica. un esempio concreto?
Problema extra, che non so se hai (io l'ho avuto): se lavori con Windows tu _credi_ di stare usando il latin1, ma non è così :) stai lavorando in cp1252 e
i problemi li incontri regolarmente col simbolo dell'euro. Ciao! -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python