[Python] Visualizzazione caratteri errata nella console di Windows con Python 3.1 e Windows 7

Manlio Perillo manlio.perillo a gmail.com
Gio 31 Mar 2011 22:25:04 CEST


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 31/03/2011 19:00, ceccherinir a libero.it ha scritto:
> Ciao a tutti
> vorrei un piccolo aiuto,
> usando Python 3.1 con Windows 7 ho creato un programma
> che usa delle istruzioni print per visualizzare dei caratteri particolari
> come i caratteri º (simbolo del grado) e ø.
> Una volta trasformato il mio programma in un file exe e lo eseguo
> (essendo un programma senza interfaccia grafica mi apre la console di 
> Windows) 
> al posto dei caratteri che ho indicato viene visualizzato dei caratteri 
> diversi, 
> dovrebbe essere un problema di codifica, 

Si, è un problema di codifica.
Perchè la console di Windows usa un encoding diverso da quello
utilizzato nel resto di Windows.
Per la versione Occidentale, la console usa il character set cp850
mentre il resto di Windows usa cp1252
http://www.postgresql.org/docs/9.0/interactive/app-psql.html#AEN75731


Strano che però tu abbia il problema con Python 3.1 che usa Unicode di
default.
Puoi postare un esempio minimale che riproduce il problema?


Comunque quello che succede è che probabilmente hai il tuo script creato
con un editor che usa l'encoding cp1252 che però viene poi eseguito in
un ambiente con encoding cp850.

Dato che in Python 3.1 le stringhe sono Unicode di default, il problema
non dovrebbe sussistere.
Hai dichiarato l'encoding del tuo file sorgente:
  http://www.python.org/dev/peps/pep-0263/
?

> [...]


Ciao  Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2U4yAACgkQscQJ24LbaURcTACfTGxsEzlcCfvRNwe7kvyDeKu3
9CcAmgO0JRWob9i1iOBY6M19LhcX3xnB
=tOOS
-----END PGP SIGNATURE-----


Maggiori informazioni sulla lista Python