{ parentesys.es :: }
Mi perfil


Fecha de publicación: 08/02/2010 02:02:16

CONVERTIR CARACTERES UTF-8 EN PHP


METAMORFOSIS CARACTERIOLÓGICA UTF-ISO

 

A veces podemos sentir la imperiosa necesidad de jugar con la codificación de caracteres, cierto, pero en la mayoría de las ocasiones, y si se es programador más si cabe, nos veremos impelidos a actuar so pena de abroncamiento o melancolía.

Dicho lo cual, ¿cuál es el verdadero problema? Fácil. Todo va estupendamente pero, ay, ese dichoso combo nos muestra (reacio a nuestras indicaciones) una serie de nombres con signos muy raros que hacen peligrar la elegancia de lo que el usuario esté visualizando en ese preciso instante.

Fuera barroquismos y vayamos al barro del asunto.

 

PHP, el lenguaje de script más potente del mercado, nos facilita dos funciones que podremos adaptar perfectamente a nuestras necesidades. Tan sencillo como lo siguiente.

 

 

1) FUNCIÓN BASE

 

Nos detecta si estamos en presencia de un críptico UTF-8

 

function is_utf8($string) {
      return preg_match(´%^(?:
                [x09x0Ax0Dx20-x7E]              # ASCII
                | [xC2-xDF][x80-xBF]             # non-overlong 2-byte
                |  xE0[xA0-xBF][x80-xBF]        # excluding overlongs
                | [xE1-xECxEExEF][x80-xBF]{2}  # straight 3-byte
                |  xED[x80-x9F][x80-xBF]        # excluding surrogates
                |  xF0[x90-xBF][x80-xBF]{2}     # planes 1-3
                | [xF1-xF3][x80-xBF]{3}          # planes 4-15
                |  xF4[x80-x8F][x80-xBF]{2}     # plane 16
                )*$%xs´,
                $string);
  }   

 

 

2) FUNCIÓN DE UTF A ISO

 

Esta pulcra función genera el string en ISO-8859-1, operando la transubstanciación de una cadena que realmente utiliza ISO pero que contiene caracteres codificados con UTF.

La función PHP es (el señor cantó línea) -> [utf8_decode ($string)]

  // FUNCIÓN DE UTF8 A ISO
  function UTF8toISO($string){
       if(!is_utf8($string)){
            return $string;
       }else{
            return utf8_decode($string);
       }  
  }

 

3) FUNCIÓN DE ISO A UTF

 

Al revés o viceversa.

La función PHP es (pero la señora bingo) -> [utf8_encode ($string)]

 

  // FUNCIÓN DE ISO A UTF8
  function ISOtoUTF8($string){
        if(is_utf8($string)){
            return $string;
       }else{
            return utf8_encode($string);
       }  
  }

Y lo mejor de todo es que funciona. De nada.

 

Autor: Adrián Martínez Buleo





Tags: 

Si esta información te ha sido útil, compártela:


Opiniones sobre el artículo

parentesys.es se reserva el derecho de suprimir, por cualquier razón y sin previo aviso, cualquier contenido generado en los espacios de participación en caso de que los mensajes incluyan insultos, mensajes racistas, sexistas... Tampoco se permitirán los ataques personales ni los comentarios que insistan en boicotear la labor informativa de la revista, ni todos aquellos mensajes no relacionados con la noticia que se esté comentando. De no respetarse estas mínimas normas de participación este medio se verá obligado a prescindir de este foro, lamentándolo sinceramente por todos cuantos intervienen y hace en todo momento un uso absolutamente cívico y respetuoso de la libertad de expresión.


problemas con el charset


publicada el (08/02/2010 17:02:10) por Ra?l Hern?ndez Caballero
Las problemas con las diferentes codificaciones y mala visualización de los juegos de carateres es algo con lo que más de una vez nos hemos encontrado todos.
Complementando a este artículo os propongo ehcar un vistazo a este otro : UTF-8 o ISO-8859-1problemas con el charset en PHP

Corrección de la función que detecta si la cadena es UTF8


publicada el (05/03/2010 10:03:51) por Oscar
Atención, sin esta pequeña corrección , la función no se comporta adecuadamente... Hay que cambiar las comillas que aparecen en cursiva , por comillas verticales (las que aparecen debajo del signo ? en nuestro teclado) Saludos


Para escribir comentarios debes estar registrado:


Area Privada: 

Email


Contraseña

Si no tienes cuenta de usuario, regístrate aquí
+ Informática
Code injection Warning  This post is a warning against a code injection launched on January 2, 2014...

Una cosa es decir que haces SEO y otra cosa es demostrarlo.  Mucha gente dice que hace SEO, que son expertos en optimización en buscadores, que pueden poner tu página web en primeras posiciones de Google, pero nadie lo demuestra. Nosotros lo...

Errores que cometen los hostales en Facebook  Algunos de los errores típicos que los dueños de hoteles, hostales y casas rurales comenten en Facebook, y cómo evitarlos....

SEO y posicionamiento web  ¿A quién no le suenan estas expresiones tan técnicas, de tantas veces que las hemos oído, y que nadie sabe muy bien de qué se tratan? Aquí vamos a ver cómo muchos aprovechan la con...

Google Places se cierra, la compañía hace de Google+ el centro de gravedad para búsquedas de negocios locales.  Cuando Google+ y Google+ Páginas para negocios fueron presentadas hace poco menos de un año, mucha gente en el entorno de las búsquedas locales anticipó el día en que Google fusi...

¿Tienes un Hostal y deseas aumentar tus ingresos?  40 millones de personas al año, vienen a España y se alojan en Hostales, Hoteles, y Casas rurales. La mayoría no saben español, y no van a perder su tiempo enviándote emails para ...