Maison > Article > développement back-end > Pourquoi des losanges noirs avec des points d'interrogation apparaissent-ils dans ma sortie PHP ?
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 :
Utiliser des balises méta pour spécifier l'encodage :
Lire à partir de la base de données dans un codage différent :
Convertir le texte à l'aide iconv() :
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!