[Python] Encoding e setdefaultencoding

Cristian Re cristian.re a gmail.com
Mar 13 Nov 2007 16:21:50 CET


In effetti il problema principale era sulla lettura di file che, se
contenevano caratteri non ascii, creavano problemi. Noi utilizzavamo la open
built-in di python. Il problema relativo al db era conseguente ma credo che
così si risolva.

Un altro problema sulla codifica l'ho utilizzando Gammu per interfacciarmi
con dei modem GSM in quanto non riesco a gestire la codifica degli SMS in
ingresso se contengono caratteri accentati ma non saprei quanti hanno mai
provato ad utilizzare Gammu.

Se qualcuno dovesse conoscere Gammu in pratica non riesco a gestire la
codifica del testo nella GetSMS della StateMachine.

Cristian





Il 13/11/07, Daniele Varrazzo <piro a develer.com> ha scritto:
>
> 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 a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20071113/99eff445/attachment.html


Maggiori informazioni sulla lista Python