lunes, 8 de agosto de 2011

PHP: Modificar la codificación de un texto.

Para modificar la codificación de caracteres con php se hace con la funcion iconv, esta funcion nos permite cambiar la codificación de caracteres de un texto puede ser a utf-8 o iso-8859-1, aqui les dejo un ejemplo donde pasamos caracteres de utf-8 a iso-8859-1:

<?php
$text = "Este es el símbolo del euro: '€'.";
echo 'Original : ', $text, PHP_EOL;
echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;
echo 'IGNORE   : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;
echo 'Plain    : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;
?>

Si se añade el string //TRANSLIT la codificación de salida, se activa la transliteración. Esto significa que cuando un caracter no puede ser representado en el set de caracteres final, se puede aproximar a uno o varios caracteres parecidos. Si se añade el string //IGNORE, los caracteres que no puedan ser representados en el set de caracteres final son descartados sin generar error. Sino especificamos ninguno de los dos lo más probable es que nos de un error.

Tambien existen las siguientes funciones que sirven para trabajar con cabeceras de mensajes:

iconv_mime_encode
iconv_mime_decode
iconv_mime_decode_headers

No hay comentarios:

Publicar un comentario