Maison > développement back-end > tutoriel php > 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 ?

Mary-Kate Olsen
Libérer: 2024-10-19 08:05:30
original
218 Les gens l'ont consulté

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() :

<code class="php">$data['name'] = mb_convert_encoding($data['name'], 'UTF-8', 'UTF-8');</code>
Copier après la connexion

Cette action remplacera tous les caractères non UTF-8 par leurs représentations d'espace réservé équivalentes, garantissant 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.

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!

source:php
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal