Maison > développement back-end > tutoriel php > Pourquoi des losanges noirs avec des points d'interrogation apparaissent-ils dans ma sortie PHP ?

Pourquoi des losanges noirs avec des points d'interrogation apparaissent-ils dans ma sortie PHP ?

Barbara Streisand
Libérer: 2024-11-13 09:38:02
original
452 Les gens l'ont consulté

Why are black diamonds with question marks appearing in my PHP output?

Problèmes d'encodage de caractères conduisant à l'affichage de diamants noirs avec des points d'interrogation dans la sortie PHP

Lors de la récupération de données à partir d'une source de base de données et de leur affichage dans PHP, il est possible de rencontrer des losanges noirs avec des points d'interrogation (�) dans les champs VARCHAR qui contiennent du texte cité. Cela se produit généralement en raison de conflits d'encodage.

Causes des problèmes d'encodage

Le losange noir avec un point d'interrogation (U FFFD, CARACTÈRE DE REMPLACEMENT) apparaît lorsque le texte est encodé dans un le codage sur un octet (tel que ISO-8859-1) est interprété dans un codage Unicode (comme UTF-8 ou UTF16).

Comment résoudre le problème

Pour corriger ce problème, vous pouvez :

Définir les en-têtes HTTP pour définir l'encodage :

  • Utilisez la fonction header() pour définir l'en-tête HTTP : header("Content-Type : text/html; charset=ISO-8859-1");

Utiliser des balises méta pour spécifier l'encodage :

  • Ajoutez une balise méta à l'en-tête HTML :

Lire à partir de la base de données dans un codage différent :

  • Essayez de lire à partir de la base de données dans un codage différent encodage, tel que UTF-8.

Convertir le texte à l'aide iconv() :

  • Vous pouvez utiliser iconv() pour convertir le texte d'un encodage à un autre : iconv('ISO-8859-1', 'UTF-8', $text );

En corrigeant l'incompatibilité d'encodage, vous pouvez vous assurer que le texte cité s'affiche correctement sans losanges noirs ni points d'interrogation.

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