Maison >développement back-end >tutoriel php >Pourquoi les caractères spéciaux apparaissent-ils comme des diamants noirs avec un point d'interrogation en PHP ?

Pourquoi les caractères spéciaux apparaissent-ils comme des diamants noirs avec un point d'interrogation en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-08 11:48:021060parcourir

Why Do Special Characters Appear as Black Diamonds with a Question Mark in PHP?

Problème d'encodage des caractères PHP : petits diamants noirs avec un point d'interrogation

Les utilisateurs rencontrent fréquemment un problème particulier lors de la récupération de données d'une base de données à l'aide de PHP : les caractères spéciaux tels que les guillemets apparaissent sous forme de losanges noirs avec un point d'interrogation (�). Ce problème résulte de divergences entre l'encodage des données et l'encodage utilisé pour les afficher.

Pour résoudre ce problème, vous pouvez mettre en œuvre différentes approches :

  1. En-tête HTTP : Ajoutez un en-tête HTTP pour spécifier l'encodage de caractères correct pour le navigateur :
header("Content-Type: text/html; charset=ISO-8859-1");
  1. Balise méta : Incluez une balise méta dans le document HTML à déclarer l'encodage :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  1. Connexion à la base de données : Pensez à récupérer les données de la base de données en utilisant un encodage de caractères différent, tel que UTF-8.
  2. Conversion Iconv : utilisez la fonction iconv() pour convertir le texte récupéré vers l'encodage souhaité :
$converted = iconv("ISO-8859-1", "UTF-8", $text);

Comprendre le problème d'encodage sous-jacent est crucial. Généralement, les données sont codées dans un format à un octet comme ISO-8859-1 (Latin-1) mais sont mal interprétées dans un codage Unicode (UTF-8 ou UTF-16).

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