Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Problema de codificação UTF8 - Com bons exemplos


Este pode ser um trabalho para o mb_detect_encoding() função.

Na minha experiência limitada com ele, não é 100% confiável quando usado como um "farejador de codificação" genérico - ele verifica a presença de certos caracteres e valores de bytes para fazer uma suposição educada - mas neste caso restrito (será necessário distinguir apenas entre UTF-8 e ISO-8859-1 ) deve trabalhar.
<?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 />";

?>

você pode obter resultados incorretos para strings que não contêm caracteres especiais, mas isso não é um problema.