Posts Tagged ‘Geany’

h1

Problema con la codificación de caracteres en scripts CGI con Python 3

03/11/2011

Ansioso por empezar a utilizar la nueva versión de Python 3 he tenido algunos problemas con la codificación de caracteres: concretamente, aunque Python ahora trabaja siempre con cadenas de texto utf-8, cuando se ejecuta como script CGI se empeña en transformar la salida a ASCII, con lo que los caracteres acentuados son sustituidos por símbolos extraños.

Tras investigar un poco he descubierto una solución bastante simple, que consiste en añadir las siguientes dos líneas al comienzo del script:

import codecs, sys
sys.stdout = codecs.getwriter(‘utf-8’)(sys.stdout.buffer)

De este modo la salida estándar se hace también en utf-8.

Por cierto, para que el editor Geany utilice Python 3 (lo cual también me ha confundido bastante, hasta que me he dado cuenta de que usaba Python 2.7) hay que editar un fichero de configuración y modificar un par de líneas:

sudo nano /usr/share/geany/filetypes.python

y cambiamos las líneas

compiler=python3 -c “import py_compile; py_compile.compile(‘%f’)”
run_cmd=python3 “%f”

Ahora ¡a transformar todos mis ejercicios de TIC a HTML5!

A %d blogueros les gusta esto: