Convertir caracteres ISO en UTF-8 en PHP
Podemos tener problemas cuando intentamos convertir desde ISO a UTF8. Debido a un problema de configuración del servidor, todos los caracteres UTF-8 han sido convertidos a ISO (HTMLEntities) antes de insertar esto en la base de datos y los caracteres ISO (HTMLEntities) quedarán ilegibles a la vista, y cuando muestra un documento en XML. Ahora bien, es posible encontrar una solución para convertir los caracteres ISO a UTF-8.
La palabra original china en utf-8: «你好«.
Convertida a ISO (HTMLEntities) : «你好»
Para usted convertir la cadena ISO «你好» para estar en utf-8 chino: «你好», usted necesita usar Multibyte String function (o la extensión mbstring). Eejemplo: La function debajo usa mb_convert_encoding para convertir a los caracteres ISO (HTMLEntities) a los caracteres UTF-8:
<?php
$str = «你好»;
echo mb_convert_encoding($str, ‘UTF-8′, ‘HTML-ENTITIES’);
?>
La salida debería ser 你好.
* Para encontrar si la conversión desde los caracteres ISO a utf-8 esta trabajando correctamente, usted necesita ver el código fuente para comprobar si el formato se encuentra en UTF-8 . *
NOTA: |
En este ejemplo usted necesita tener instalada la extensión de PHP mbstring. De forma predeterminada la extensión mbstring no está instalada. En el caso de no tener instalada la extensión mbstring usted no podrá convertir las cadenas ISO a UTF-8 usando este método mostrado aquí. Por favor contacte al administrador de sistemas para instalar la extensión mbstring de PHP. |
Comments (2)
Estoy cambiando de servidor y necesito convertir toda la data donde tengo caracteres iso a utf8. como hago? por Favor ayudenme
Despues de mucho tiempo buscando este tipo de funcion, gracias a dios la he conseguido en esta pagina, hacemos paginas en todo tipo de idiomas y a la hora de generar el sitemap no conseguia que los caracteres se vieran correctamente hasta que entre aqui. gracias