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.
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