Sobre unicodes (era Re: )

Chema Cortés chemacortes en wanadoo.es
Vie Mar 1 22:03:39 CET 2002


El Jue 28 Feb 2002 16:15, Hernan Martinez Foffani escribió:


> Entiendo que además de modificar el archivo site.py cambiando el encoding
> y activando el bloque de código que le sigue (Ver FAQ 4.102), todas tus
> constantes deberían incluir la u delante. Ej:
>
> >>> print u"ñ".isalpha()
>
> 1

Tienes razón. La variable 'encoding' sólo tiene utilidad para indicar el 
conjunto de caracteres que se utilizará para codificar los unicodes. Siempre 
se puede indicar explícitamente el encoding' usando la función unicode()

En cuanto a activar el bloque que dice el FAQ, tiene relación con el fallo 
del módulo 'locale' que también comentaba. En Europa hemos cambiado de 
moneda...y de codificación de caracteres. En lugar del latin1 (iso8859-1) 
estamos usando el latin0 (iso8859-15). La única diferencia entre ambas 
codificaciones es que el iso8859-15 incluye el símbolo del Euro y el céntimo 
de Euro. A la codificación de locales que tiene el sistema se le ha añadido 
la coletilla '@euro' (pe: 'es_ES en euro' en España). Esta coletilla hace que el 
módulo locale no reconozca la configuración del sistema y no sea capaz de 
encontrar la codificación de caracteres por defecto que debería usar. De 
todos modos, siempre se puede forzar la codificación:

import locale
locale.setlocale(locale.LC_ALL,("es_ES en euro","iso8859-15"))


> En cuanto a que todas las cadenas de caracteres se consideren bajo una
> determinada codificación Unicode, creo que eso se hará cuando se
> implemente el PEP 263. http://python.sourceforge.net/peps/pep-0263.html

Si, es lógico que se precise este PEP. De todos modos no creo que hiciera 
falta esperar a que se implementara para que hubiera algún modo de configurar 
el entorno de modo que todas las cadenas se trataran como unicodes. El 
problema actual es que no es fiable el uso de ciertas utilidades cuando la 
codificación de una cadena no está en unicode (pe: isalpha, islower,...).

Saludos,
-- 
Chema Cortes (chemacortes en wanadoo.es) | LinuxUser#142755 - SuSE Linux 7.3
  ZARALINUX  http://www.zaralinux.org | "La ignorancia se apodera de quien
    PYTANDO  http://pytando.sf.net    |     se contenta con lo que sabe"





Más información sobre la lista de distribución Python-es