Maison  >  Article  >  développement back-end  >  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
Barbara Streisandoriginal
2024-11-13 09:38:02393parcourir

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!

Déclaration:
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