Comment convertir ASCII encodage en UTF8 en PHP
ASCII est un sous-ensemble de UTF-8, donc si un document est ASCII alors c'est déjà UTF-8.
Si vous savez avec certitude que votre encodage actuel est purement ASCII, vous n'avez rien à faire car ASCII est déjà un UTF-8 valide.
Mais si vous voulez toujours convertir, juste pour être sûr que son UTF-8, alors vous pouvez utiliser iconv
$string = iconv('ASCII', 'UTF-8//IGNORE', $string);
IGNORE supprimera tous les caractères invalides au cas où certains n'étaient pas valides ASCII.
Utilisez mb_convert_encoding pour convertir un ASCII en UTF-8. Plus d'infos ici
$string = "chárêctërs";
print(mb_detect_encoding ($string));
$string = mb_convert_encoding($string, "UTF-8");
print(mb_detect_encoding ($string));
Utilisez utf8_encode()
La page de manuel peut être trouvée ici http://php.net/manual/en/function.utf8-encode.php
Lisez également cet article de Joel sur le logiciel. Il fournit une excellente explication de ce qu'est Unicode et de son fonctionnement. http://www.joelonsoftware.com/articles/Unicode.html
"ASCII est un sous-ensemble de UTF-8, donc ..." - donc UTF-8 est un set? :)
En d'autres termes: toute chaîne construite avec code points
de x00 à x7F est indiscernable représentations (séquences d'octets) dans ASCII et UTF-8. La conversion d'une telle chaîne est inutile.