Maison >développement back-end >tutoriel php >Pourquoi est-ce que je vois des caractères « » dans ma sortie PHP lors de la récupération de données d'une base de données ?

Pourquoi est-ce que je vois des caractères « » dans ma sortie PHP lors de la récupération de données d'une base de données ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-09 03:21:02803parcourir

Why am I seeing

Sortie PHP affichant des caractères incorrects

Lors de la récupération de données à partir d'une source de base de données en PHP, des caractères comme des losanges noirs avec un point d'interrogation (�) peut apparaître dans les champs varchar. Ce problème survient lorsque le texte stocké dans la base de données diffère en termes d'encodage de l'interprétation du script PHP.

Solution

Le problème provient d'une inadéquation entre l'encodage des caractères du le texte et l'encodage utilisé pour l'affichage. En règle générale, le texte est codé sur un seul octet (par exemple, ISO-8859-1), mais est interprété en Unicode (par exemple, UTF8 ou UTF16).

Pour résoudre le problème, envisagez les options suivantes :

  • Définir l'en-tête HTTP Content-Type : Ajoutez l'en-tête suivant au script PHP pour indiquez le codage de caractères correct pour la réponse :
header("Content-Type: text/html; charset=ISO-8859-1");
  • Utiliser la balise méta : Vous pouvez également ajouter une balise méta au document HTML :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  • Lire la base de données avec le codage correct : Récupérez les données de la base de données en utilisant le caractère approprié encodage (par exemple, UTF-8).
  • Utilisez iconv() : Convertissez le texte dans l'encodage correct à l'aide de la fonction iconv() :
$convertedText = iconv("ISO-8859-1", "UTF-8", $text);

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