Mysql
 sql >> Database >  >> RDS >> Mysql

Problema di codifica UTF8 - Con buoni esempi

Questo potrebbe essere un lavoro per mb_detect_encoding() funzione.

Nella mia esperienza limitata con esso, non è affidabile al 100% se usato come un generico "sniffer di codifica" - Verifica la presenza di determinati caratteri e valori di byte per fare un'ipotesi plausibile - ma in questo caso ristretto (dovrà distinguere solo tra UTF-8 e ISO-8859-1 ) dovrebbe lavoro.

<?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 />";

?>

potresti ottenere risultati errati per stringhe che non contengono caratteri speciali, ma questo non è un problema.