Compatibilizando charsets…

En nuestro sistema de control de producción (PHP+PostgreSQL) tenemos en ocasiones que presentar conjuntamente  datos extraídos de distintos programas(Fastos, Versat) además del nuestro. Esto, además de obligarnos a trabajar simultáneamente con distintos tipos de bases de datos (PostgreSQL, MSSQL) nos añade la dificultad de presentar correctamente en pantalla distintos juegos de caracteres (charsets)…

Por ejemplo, nuestro sistema usa UTF-8, Fastos usa la codificación típica de Windows (Windows-1252), y el Versat se hace el interesante con CP850, heredado de MS-DOS. Presentar en pantalla simultáneamente datos extraídos  de estos tres sistemas puede dar como resultado un potaje de caracteres raros.

La solución viene de la mano de una función (PHP):

$cadena_final=iconv(“codificación 1″,”codificación 2”,$cadena_original)

Puede usarse además con un parámetro adicional (TRANSLIT o PLAIN), como por ejemplo:

$cadena_final=iconv(“codificación 1″,”codificación 2//TRANSLIT”,$cadena_original)

que serviría si se desea transliterar un carácter especial.

Bendito PHP! Siempre tiene algún recurso…

Esta entrada fue publicada en Software Libre. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *