"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment gérer les caractères UTF-8 mal formés dans l'encodage PHP JSON ?

Comment gérer les caractères UTF-8 mal formés dans l'encodage PHP JSON ?

Publié le 2024-11-07
Parcourir:764

How to Handle Malformed UTF-8 Characters in PHP JSON Encoding?

Gestion des caractères UTF-8 mal formés dans l'encodage PHP JSON

Lorsque vous utilisez json_encode() pour sérialiser un tableau contenant des caractères russes, vous pouvez rencontrer une erreur liée à des caractères UTF-8 mal formés. Pour résoudre ce problème, effectuez les étapes suivantes :

Étape 1 : Identifiez l'encodage des caractères

Utilisez mb_detect_encoding() pour déterminer l'encodage du champ contenant des caractères russes. Confirmez qu'il s'agit bien d'UTF-8, comme indiqué dans votre exemple.

Étape 2 : Supprimez les caractères non UTF-8

Bien que le champ puisse être principalement encodé en UTF-8, il peut toujours contenir des caractères non UTF-8. Pour les supprimer, utilisez la fonction mb_convert_encoding() :

$data['name'] = mb_convert_encoding($data['name'], 'UTF-8', 'UTF-8');

Cette action remplacera tous les caractères non UTF-8 par leurs représentations d'espace réservé équivalentes, garantissant ainsi que la chaîne reste valide pour l'encodage JSON.

Étape 3 : sérialiser avec l'encodage JSON.

Une fois les caractères non UTF-8 supprimés, vous pouvez réussir à sérialiser les données à l'aide de json_encode(). Le JSON résultant sera valide et contiendra la représentation correcte des caractères russes.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729296256. En cas d'infraction, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3