En PHP, si je crée une chaîne comme ceci:PHP UTF-8 questions - Si je crée une chaîne en PHP ... est-ce en UTF-8?
$str = "bla bla here is my string";
Vais-je alors en mesure d'utiliser les fonctions mbstring pour fonctionner sur cette chaîne comme UTF8?
// Will this work? $str = mb_strlen($str);
De plus, si je puis une autre chaîne que je sais est UTF-8 (dire que c'était une valeur sous forme d'affichage, ou une chaîne UTF-8 à partir d'une base de données), je peux concaténer alors ces deux et ne pas avoir de problèmes?
// What about this, will this work? $str = $str . $utf8_string_from_database;
Tout cela ne fait contrôler les en-têtes envoyés au client. Cela n'affecte en fait rien sur la façon dont PHP gère les chaînes. – chazomaticus
Il fait plus que cela. Essayez d'exécuter urldecode ('% C3% A9') avec un jeu de caractères par défaut de ISO-8859-1, puis de nouveau avec un jeu de caractères par défaut de UTF-8. Mais vous avez raison, cela n'a aucune incidence sur la façon dont PHP traite les chaînes au niveau des bits. –
La seule raison pour laquelle vous obtiendriez des résultats différents est que votre navigateur interprète différemment ces octets. Comme je l'ai dit, cela n'affecte RIEN sur la façon dont PHP gère réellement les chaînes, WHATSOEVER. – chazomaticus