Position actuelle: Accueil> Derniers articles> Comment résoudre le problème des chinois brouillés en connexion PHP MySQL

Comment résoudre le problème des chinois brouillés en connexion PHP MySQL

M66 2025-06-30

Comment résoudre le problème des chinois brouillés en connexion PHP MySQL

MySQL est une base de données relationnelle largement utilisée, tandis que PHP est un langage de script côté serveur populaire, qui est souvent utilisé ensemble pour développer des sites Web et des applications. Au cours du processus de développement réel, lorsque PHP se connecte à la base de données MySQL, il rencontre souvent le problème des données chinoises brouillées, ce qui suscite beaucoup de problèmes aux développeurs. Cet article introduira des solutions efficaces pour aider les développeurs à résoudre le problème brouillé lors de la connexion de PHP à MySQL.

Assurez-vous que les jeux de caractères des bases de données et des tables sont définis correctement

Tout d'abord, assurez-vous que les jeux de caractères de la base de données et des tables sont correctement définis. Lors de la création d'une base de données, vous devez sélectionner le jeu de caractères UTF-8 ou UTF-8MB4 pour prendre en charge plus de caractères. Lors de la création d'une table, le jeu de caractères et la relecture des règles de la table doivent également être définis sur UTF-8MB4 pour s'assurer que les données sont stockées correctement. Par exemple:

 CREATE DATABASE my_database CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
 CREATE TABLE my_table (id INT AUTO_INCREMENT, name VARCHAR(50) CHARACTER SET utf8mb4, PRIMARY KEY(id)) ENGINE=InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Définir le jeu de caractères lors de la connexion à la base de données

Lorsque PHP se connecte à la base de données MySQL, vous devez explicitement définir le jeu de caractères sur UTF8MB4 pour vous assurer que les données sont stockées et lues correctement. Vous pouvez utiliser le code suivant lors de la connexion à la base de données:

 $mysqli = new mysqli("localhost", "username", "password", "my_database");
 $mysqli->set_charset("utf8mb4");

Définir les ensembles de caractères lors de l'interrogation de la base de données

Avant d'exécuter l'instruction SQL Query, assurez-vous de définir le jeu de caractères sur UTF8MB4. Cela peut éviter le problème des données chinoises brouillées. Voici l'exemple de code pour définir le jeu de caractères:

 $mysqli->query("SET NAMES 'utf8mb4'");

Utilisez un codage UTF-8 pour traiter les données chinoises

Lors du traitement des données chinoises en PHP, assurez-vous d'utiliser le codage UTF-8. Lors de l'insertion de données, vous pouvez utiliser la fonction utf8_encode () pour convertir la chaîne en codage UTF-8. Par exemple:

 $name = "Zhang San";
 $name = utf8_encode($name); // Se convertir UTF-8 codage
 $result = $mysqli->query("INSERT INTO my_table (name) VALUES ('$name')");

Définir correctement l'encodage des caractères dans les pages Web

Enfin, lorsque vous affichez des données sur la page Web, vous devez vous assurer que le codage des caractères de la page est UTF-8 pour vous assurer que les données chinoises sont affichées correctement. Ajoutez le code suivant à la section d'en-tête de HTML:

 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

Grâce aux méthodes ci-dessus, les développeurs peuvent résoudre efficacement le problème des données chinoises brouillées lorsque PHP se connecte à MySQL. Suivre les paramètres de jeu de caractères corrects et les spécifications d'encodage assure le stockage, la lecture et l'affichage des données correctes. J'espère que ces contenus seront utiles aux développeurs.