Hola, buenas noches. Gracias Douglas por tu comentario. Yo puedo darte mi opinión sobre codificaciones. Lo del sitecustomize, tal como se comenta en el manual, es únicamente para decirle a ciertas funciones de Python, que codifiquen su salida en la codificación deseada. Puedes hacer eso perfectamente, pero no tiene nada que ver con tu problema, creo yo. Una cosa es decirle a Python como tienen que ser la salida de ciertas funciones y otra muy distinta es decirle a Python que un fichero tiene una codificación ú otra. La codificación de un fichero, en Python, se puede hacer de dos formas, a saber, mediante un byte BOM al principio del fichero (esto lo hace NotePad++) ó en la cabecera (primera ó segunda línea) del fichero de código fuente, incluir una sentencia del tipo:<br>
<br># -*- coding: utf-8 -*-<br><br>Incluso con estas cuestiones hay veces que hay problemas con algunos frameworks, con respecto a codificaciones, ya que internamente pueden codificar las cadenas de una manera ú otra. Ahora bien, si con todo sigues teniendo problemas, yo de tí miraría la página de códigos del sistema y cosas de estas, externas a Python. Por ejemplo, en Windows, la codificación en el intérprete de comandos difiere de la plataforma gráfica (algunas veces), aunque parezca mentira.<br>
<br>Espero haberte ayudado. <br><br>Un cordial saludo.<br><br><div class="gmail_quote">El 3 de marzo de 2011 22:09, Chema Cortes <span dir="ltr"><<a href="mailto:pych3m4@gmail.com">pych3m4@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">En Thu, 03 Mar 2011 21:41:59 +0100, Douglas Jiménez <<a href="mailto:dougjim@gmail.com" target="_blank">dougjim@gmail.com</a>> escribió:<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
En su "Manual de Introducción a Python" (que está siendo comentado en estos<br>
momentos en otro hilo y por lo cual lo felicito y le agradezco) Ángel Luis<br>
García plantea (pág. 19) crear en<br>
/usr/local/lib/python2.6/site-packages un archivo sitecustomize.py con el<br>
siguiente contenido:<br>
<br>
import sys<br>
sys.setdefaultencoding('iso-8859-1')<br>
<br>
que (si no entiendo mal) Python debe leer cuando se inicie. Después de esto<br>
no habría problema con la ejecución del sencillo programa propuesto por<br>
P@vel. Sin embargo, tampoco con esto he tenido suerte.<br>
</blockquote>
<br>
No se te ocurra hacerlo así. Resolverás tu problema localmente, pero nunca estarás seguro de que tu código funcione en cualquier sitio (si buscas en el archivo de esta lista verás alguna discusión antigua sobre el tema).<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
para prueba.py=<br>
<br>
#!/usr/bin/python<br>
# -*- coding: UTF8 -*-<br>
<br>
</blockquote></blockquote>
<br>
Te sobra un espacio tras la almohadilla.<br>
<br>
<br>
Vamos a ver si aclaramos algunos conceptos sobre este problema:<br>
<br>
1) python puede trabajar "nativamente" con unicode, algo que luego debe codificarse según requiera la salida por la terminal. Por tanto, lo primero es averiguar qué codificación usa la terminal<br>
<br>
2) los ficheros de código pueden haberse codificado en cualquier sistema de codificación. La codificación utf puede usar una marca al principio del fichero para indicarlo, pero algunos editores de texto no saben manejarlas y es mejor no usarlas. Por tanto, lo segundo es indicar con un comentario (primera o segunda línea) en qué sistema de codificación está creado el fichero. Este comentario únicamente influye en cómo se interpretarán los literales unicode en el código (Los que aparecen como u".."). El resto del funcionamiento no se ve afectado (ya he dicho que python usa unicode "nativamente" (aka como "codepoints").<br>
<br>
3) si vamos a leer ficheros de texto que no sean en ascii, se deben abrir con 'codecs.open'<br>
<br>
<br>
Si seguimos con problemas, probar con éste código (codificado en ascii):<br>
<br>
print u"Espa\N{LATIN SMALL LETTER N WITH TILDE}a"<br>
<br>
Si da error o no se lee "España" correctamente entonces tu problema NO ES DE PYTHON.<br>
_______________________________________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.com/</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Ángel Luis García García<br>