CONVERTIR CARACTERES UTF-8 EN PHP
parentesys.es )(

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

Actualidad 21 ene 2022
Bill Gates nos cuenta los pasos para no tener otra Pandemia

 0
  
 5497

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

 0
  
 29997

Noticias 14 jul 2021
Qué pasos tienes que seguir si te despiden

 0
  
 30351

Actualidad 27 mar 2021
Las profesiones que van a desaparecer.

 0
  
 29989

Informática 1 feb 2021
Mejores herramientas para Eventos Virtuales

 1
  
 43910

Contenidos Indexados
Actualidad La idiotez del coche eléctrico

 0
  
 5386

Abre Los Ojos No tendré nada y seré feliz

 1
  
 8375

Actualidad ENSAYO SOBRE LA CONTAMINACIÓN AMBIENTAL

 0
  
 14613

Abre Los Ojos Reflexiones en tiempos de pandemia

 0
  
 13069

El Arte del Bonsái Ficus - Variedades

 3
  
 169746

English Adverbios de Frecuencia

 10
  
 153961

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

 13
  
 116017

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

 16
  
 90304

English Something - Anything

 2
  
 83167

Autores

OSCAR H CABALLERO

Este autor tiene 30 artículos publicados.
+ info

PARENTESYS

Este autor tiene 2 artículos publicados.
+ info

MILES

Este autor tiene 4 artículos publicados.
+ info


Newsletter

Suscríbete a nuestros boletines