Maison > Article > développement back-end > Pourquoi le caractère 65279 apparaît-il dans ma réponse PHP ?
Comprendre le mystère de l'écho du caractère 65279 en PHP
Malgré un problème déroutant lors d'un rappel AJAX, où le texte s'affichait correctement dans une alerte mais n'a pas réussi à correspondre dans une instruction « if », le coupable était un caractère caché au début du texte de la réponse. Curieusement, ce caractère avait un code de caractère de 65279.
Une enquête plus approfondie a révélé que ce caractère, provenant du code PHP côté serveur, était un caractère de contrôle UTF-8 invisible destiné à définir l'encodage de la réponse. Cependant, la question se pose : pourquoi ce caractère a-t-il été répété par inadvertance ?
Après un examen plus approfondi du code PHP, une simple instruction « echo » a été utilisée pour afficher la réponse. Cependant, il est devenu évident que le Bloc-notes, qui a été utilisé pour enregistrer le fichier PHP, a subtilement ajouté une marque d'ordre d'octet (BOM) au fichier. Cette nomenclature était composée de trois octets : EF BB BF, et son but était d'indiquer que l'encodage du fichier était UTF-8 avec un ordre d'octets big-endian.
Bien que PHP gère généralement les nomenclatures sans problème, des problèmes peuvent survenir lorsqu'un fichier PHP est inclus dans un autre. Dans de tels cas, la nomenclature peut provoquer l'affichage de chaînes avec le caractère 65279 ajouté, ce qui entraîne un comportement inattendu dans les comparaisons.
Heureusement, il existe des moyens d'éviter ce problème :
En les implémentant solutions, les développeurs peuvent empêcher l'apparition indésirable du caractère 65279 dans leurs réponses PHP, garantissant ainsi que les comparaisons et autres opérations sur les chaînes fonctionnent comme prévu.
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!