Mysql
 sql >> Base de données >  >> RDS >> Mysql

Problème d'encodage UTF8 - Avec de bons exemples

Cela peut être un travail pour le mb_detect_encoding() fonction.

D'après mon expérience limitée, il n'est pas fiable à 100% lorsqu'il est utilisé comme "renifleur d'encodage" générique - Il vérifie la présence de certains caractères et valeurs d'octets pour faire une supposition éclairée - mais dans ce cas étroit (il faudra faire la distinction entre UTF-8 et ISO-8859-1 ) il devrait travail.

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

?>

vous pouvez obtenir des résultats incorrects pour les chaînes qui ne contiennent pas de caractères spéciaux, mais ce n'est pas un problème.