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

Informática 11 dic 2024
Patrón de diseño Decorator, en PHP

 0
  
 928

Actualidad 3 dic 2024
El Cambio Esquilmático

 0
  
 1653

Actualidad 24 nov 2024
El mundo que viene en 2025

 0
  
 2409

Informática 9 ago 2024
Makefile, el archivo que te ayuda a ser más productivo.

 0
  
 11161

Pensamientos 30 ene 2024
Los problemas de la Inteligencia Artificial en el ARTE.

 0
  
 26956

Pensamientos 30 ene 2024
La importancia del silencio en el proceso creativo.

 0
  
 27645

Crea tu Periódico Digital
El Arte del Bonsái Ficus - Variedades

 3
  
 238702

English Adverbios de Frecuencia

 10
  
 221878

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

 13
  
 184193

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

 16
  
 159665

English Something - Anything

 2
  
 150575

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

 2
  
 148691

Informática Mejores herramientas para Eventos Virtuales

 1
  
 118621

Actualidad Las profesiones que van a desaparecer.

 0
  
 105510

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

 0
  
 104738

Autores

Admin

Este autor tiene 31 artículos publicados.

PARENTESYS

Este autor tiene 23 artículos publicados.

MILES

Este autor tiene 3 artículos publicados.


Newsletter

Suscríbete a nuestros boletines