Archivos Mensuales: julio 2009

Problemas de decodificación unicode con Reportlab y Python

Por ejemplo tenemos una base de datos con caracteres especiales (sería lo normal – Acentos y demas -), y al tratar de generar un documento PDF con Reportlab, este nos genera errores del tipo de decodificación utf-8 o unicode. (ojo que solo se presento el problema al ejecutar la aplicación en windows).

Entonces lo que podemos hacer en estos casos es transformar el string y eliminar los caracteres especiales, aqui esta el codigo:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from unicodedata import normalize

def normalizar_string(unicode_string):
return normalize('NFKD',unicode_string).encode('ASCII', 'ignore').lower()

unic='holí' #Ejemplo de string normal.
string=unicode(unic, 'utf-8') #Transformacion a unicode.

print normalizar_string(string) #llamamos la funcion e imprimimos.

Pygresql – Problema para ejecutar en windows

Pygresql es un modulo para python que nos permite interactuar con Postgresql, un potente gestor de bases de datos. En Linux (cualquiera de sus sabores) no tenemos problemas para ejecutarlo, sin embargo en windows nos arroja errores.

La solucion es indicarle al programa python la ruta relativa al directorio “bin” de postgresql, de lo contrario puedes instalar directamente el programa en la carpeta “bin” (c: Archivos de programas/postgresql/8.x/bin).

Ups!

Por no pagar a tiempo el hosting se borro toda la informacion! y lamentablemente la base de datos respaldada estaba corrupta.

Hay mucho por hacer…