sql >> Base de Datos >  >> RDS >> Mysql

Codificación Latin-1 / UTF-8 php

Su salida HTML debe estar en una sola codificación, no hay forma de evitarlo. Esto significa que el contenido en diferentes codificaciones debe convertirse primero a su codificación HTML. Si bien eso es posible de hacer con iconv o mb_convert_encoding , hay dos problemas que tienes que resolver:

  1. Necesita saber (o adivinar) la codificación actual del contenido
  2. Debe hacer esto manualmente, en todas partes

Por ejemplo, una solución teórica sería elegir UTF-8 como su codificación HTML y luego hacer esto para todas las cadenas que va a generar:

$string = '...'; // from the database

// If it's not already UTF-8, convert to it
if (mb_detect_encoding($string, 'utf-8', true) === false) {
    $string = mb_convert_encoding($string, 'utf-8', 'iso-8859-1');
}

echo $string;

El código anterior asume que el contenido que no es UTF-8 está codificado en latin-1, lo cual es razonable según su pregunta.