mosaic40 Posté 9 Février 2010 Posté 9 Février 2010 Bonjour à tous, Je suis en utf-8 partout, sauf que voilà un extrait de code test: $str = "bonjour tout le monde"; echo mb_detect_encoding($str). " avant utf8_encode()"; utf8_encode($str); echo mb_detect_encoding($str). " après utf8_encode()"; Et voilà ce qui est affiché : ASCII avant utf8_encode(); ASCII après utf8_encode(); Où me suis-je trompé dans l'utilisation de utf8_encode()? Merci
captain_torche Posté 9 Février 2010 Posté 9 Février 2010 Ca ne serait pas parce que la chaîne de caractères que tu utilises ne contient pas de caractères accentués ?
jcaron Posté 9 Février 2010 Posté 9 Février 2010 UTF-8 est un sur-ensemble de l'ASCII, compatible avec de l'ASCII si tu n'utilises que des caractères ASCII, ce qui est ton cas ici. mb_detect_encoding ne fait que vérifier si une chaîne est compatible avec tel ou tel encodage, et par défaut (si tu ne donnes pas de liste), commence par l'ASCII. Dans ton cas, le texte est du 100% pur ASCII, donc il te répond que c'en est. Et convertir l'ASCII en UTF-8 ou de l'UTF-8 qui ne contient que des caractères ASCII en ASCII ça revient à ne rien faire. Jacques.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant