Maison > développement back-end > tutoriel php > Comment puis-je réparer la corruption des caractères UTF-8 lors de l'utilisation de file_get_contents() ?

Comment puis-je réparer la corruption des caractères UTF-8 lors de l'utilisation de file_get_contents() ?

Barbara Streisand
Libérer: 2024-12-04 16:19:16
original
178 Les gens l'ont consulté

How Can I Fix UTF-8 Character Corruption When Using file_get_contents()?

file_get_contents() Corruption des caractères UTF-8 : une résolution

Lors de l'utilisation de file_get_contents() pour récupérer du contenu HTML avec encodage UTF-8 , les utilisateurs peuvent rencontrer un problème où les caractères spéciaux tels que ľ, š, č et ž ne sont pas rendus correctement. Cela entraîne l'affichage de caractères charabia comme Å, ¾ et ¤.

Le problème réside dans l'encodage par défaut utilisé par file_get_contents(). Pour le résoudre, on peut spécifier explicitement l'encodage souhaité dans l'appel de fonction. Cependant, enregistrer le HTML récupéré dans un fichier et l'imprimer avec l'encodage UTF-8 s'avère également inefficace, indiquant que les données brisées sont récupérées à partir de la source elle-même.

Une solution qui s'est avérée efficace consiste à effectuer une analyse multi Conversion en octets sur la chaîne HTML récupérée. Voici les étapes à suivre :

  1. Détectez l'encodage actuel de la chaîne HTML à l'aide de mb_detect_encoding($html, 'UTF-8', true).
  2. Convertissez la chaîne en UTF- 8 en utilisant mb_convert_encoding($html, 'UTF-8', mb_detect_encoding($html, 'UTF-8', true)).
  3. Enfin, convertissez la chaîne UTF-8 en entités HTML à l'aide de mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8').

En mettant en œuvre ces étapes, la chaîne HTML récupérée sera correctement convertie, permettant aux caractères UTF-8 de s'afficher correctement.

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