Maison > Article > développement back-end > Comment décoder les URL codées en UTF-8 au-delà de urldecode() en PHP ?
La fonction urldecode() de PHP est un outil précieux pour décoder les chaînes codées en URL. Cependant, il peut échouer lorsque la chaîne est également codée en UTF-8.
Le problème :
Considérez la chaîne codée en URL suivante :
Ant%C3%B4nio+Carlos+Jobim
Tenter de le décoder à l'aide de urldecode() donne le résultat suivant :
Antônio Carlos Jobim
Au lieu du "Antônio Carlos Jobim" attendu.
La solution :
Pour résoudre ce problème, nous devons également décoder l'encodage UTF-8. La fonction utf8_decode() de PHP sert à cet effet :
echo utf8_decode(urldecode("Ant%C3%B4nio+Carlos+Jobim"));
Cela affichera la chaîne correcte :
Antônio Carlos Jobim
Explication :
Encodage d'URL consiste à remplacer certains caractères par leurs homologues hexadécimaux. Le codage UTF-8, en revanche, représente des caractères utilisant plusieurs octets, qui peuvent être interprétés à tort comme des codes hexadécimaux. En combinant utf8_decode() et urldecode(), nous pouvons décoder correctement les chaînes qui ont été codées aux formats UTF-8 et URL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!