CONVERTIR CARACTERES UTF-8 EN PHP
parentesys

CONVERTIR CARACTERES UTF-8 EN PHP

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.

8 feb 2010


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

Invítame a un café si te ha gustado este artículo
2,20 EUR

Temas relacionados:

Opiniones de este contenido

Esta web 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 web, 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 hacen en todo momento un uso absolutamente cívico y respetuoso de la libertad de expresión.


#2

Correcci

Oscar el 5 mar 2010
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
#1

problemas con el charset

Ra el 8 feb 2010
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


Tu opinión

Contenidos Indexados
El Arte del Bonsái Ficus - Variedades

 3
  
 234774

English Adverbios de Frecuencia

 10
  
 218027

Informática Generador de códigos de barras en PHP

 13
  
 180332

Quejas denuncias estafas Descubre quién te visita en Facebook?

 16
  
 155700

English Something - Anything

 2
  
 146736

Marketing digital Cómo ganar dinero con un periódico o revista digital

 2
  
 144501

Informática Mejores herramientas para Eventos Virtuales

 1
  
 114770

Actualidad Las profesiones que van a desaparecer.

 0
  
 101625

Informática Periodista digital, ¿cuánto vale tu tiempo?

 0
  
 100906

Autores

Admin

Este autor tiene 31 artículos publicados.

PARENTESYS

Este autor tiene 18 artículos publicados.

MILES

Este autor tiene 3 artículos publicados.


Newsletter

Suscríbete a nuestros boletines