Position actuelle: Accueil> Derniers articles> Dépannage et solutions pour les codes brouillés dans PHP et MySQL

Dépannage et solutions pour les codes brouillés dans PHP et MySQL

M66 2025-09-23

Analyse des problèmes

L'utilisation de PHP et MySQL pour l'interaction des données est très courante lors du développement d'un site Web ou d'une application. Mais parfois, nous rencontrons des problèmes de code brouillé, c'est-à-dire que le contenu stocké dans la base de données est affiché sous forme de code brouillé dans la page PHP. Les ordures sont généralement causées par un codage de caractères incohérent, une mauvaise base de données et des jeux de caractères de page, ou des données incorrectes transcodées.

Voici quelques causes courantes de problèmes de code brouillé:

  • Le jeu de caractères de la base de données est incorrect;
  • La connexion de la base de données n'est pas correctement définie sur le jeu de caractères;
  • Les pages PHP sont incompatibles avec les jeux de caractères de base de données;
  • Les données ne sont pas correctement codées et converties pendant la transmission.

Solution

Confirmer les paramètres du jeu de caractères de la base de données

Tout d'abord, assurez-vous que le jeu de caractères de la base de données MySQL est défini correctement. Vous pouvez utiliser l'instruction SQL de requête SQL suivante pour afficher le jeu de caractères de base de données actuel:

 SHOW VARIABLES LIKE 'character_set_database';

Si le jeu de caractères n'est pas UTF-8, vous pouvez modifier le jeu de caractères de la base de données par:

 ALTER DATABASE database_name CHARACTER SET utf8 COLLATE utf8_general_ci;

Configuration du jeu de caractères de connexion de la base de données

En PHP, les ensembles de caractères doivent être définis lors de la connexion à la base de données pour s'assurer que le codage des caractères est traité correctement. Voici le code pour définir le jeu de caractères de connexion:

 $connection = new mysqli("localhost", "username", "password", "database");

Assurez-vous que le jeu de caractères de la page est cohérent avec la base de données

Dans la page PHP, vous devez vous assurer que les mêmes paramètres de jeu de caractères que la base de données sont définis. Sur la page Ajoutez le code suivant à la balise:

 <meta charset="utf-8">

Codage et conversion pendant le fonctionnement de la base de données

Lorsque vous effectuez des opérations de base de données, assurez-vous que les données sont codées de manière codé. Vous pouvez utiliser la fonction MB_Convert_encoding de PHP pour coder et convertir les données:

 $str = mb_convert_encoding($str, "UTF-8", "GB2312");

Exemple de code

Supposons que nous ayons un tableau appelé Example_Table qui stocke le contenu chinois. Le code PHP suivant est utilisé pour interroger et sortir le contenu dans le tableau:

 $connection = new mysqli("localhost", "username", "password", "database");

Grâce au code ci-dessus, nous pouvons correctement interroger et afficher le contenu chinois de la base de données pour éviter le code brouillé.

Résumer

Les problèmes de code d'ordures sont des défis courants pendant le développement de PHP et MySQL. En définissant correctement le jeu de caractères de la base de données, le jeu de caractères de connexion de la base de données, le jeu de caractères de la page et la réalisation des conversions de codage nécessaires, nous pouvons résoudre efficacement le problème du code brouillé. De plus, suivre ces solutions garantit que les données sont affichées correctement sur la page et améliore l'expérience utilisateur.

  • Étiquettes associées:

    MySQL