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

Problema de codificación UTF8:con buenos ejemplos

Este puede ser un trabajo para el mb_detect_encoding() función.

En mi experiencia limitada con él, no es 100% confiable cuando se usa como un "olfateador de codificación" genérico:verifica la presencia de ciertos caracteres y valores de bytes para hacer una conjetura, pero en este caso limitado (tendrá que distinguir solo entre UTF-8 e ISO-8859-1 ) debería trabajo.

<?php
$text = $entity['Entity']['title'];

echo 'Original : ', $text."<br />";
$enc = mb_detect_encoding($text, "UTF-8,ISO-8859-1");

echo 'Detected encoding '.$enc."<br />";

echo 'Fixed result: '.iconv($enc, "UTF-8", $text)."<br />";

?>

puede obtener resultados incorrectos para cadenas que no contienen caracteres especiales, pero eso no es un problema.