Comment résoudre le problème confus de la connexion PHP à MySQL
MySQL est un système de gestion de bases de données relationnelles couramment utilisé, et PHP est un langage de script côté serveur populaire. Les deux sont souvent utilisés en combinaison pour développer des sites Web et des applications. . Lorsque nous utilisons PHP pour nous connecter à une base de données MySQL, nous rencontrons souvent le problème des données chinoises tronquées, ce qui pose quelques problèmes aux développeurs. Cet article présentera quelques méthodes efficaces pour résoudre le problème tronqué de la connexion PHP à MySQL et fournira des exemples de code spécifiques.
Tout d'abord, assurez-vous que les paramètres du jeu de caractères de la base de données et de la table sont corrects. Lors de la création de la base de données, vous devez choisir un jeu de caractères approprié, tel que utf8 ou utf8mb4. Spécifiez également le jeu de caractères et les règles de classement corrects lors de la création de la table. 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;
Lorsque PHP se connecte à la base de données MySQL, vous devez définir le jeu de caractères sur utf8mb4 pour garantir un stockage et une lecture corrects des données. Vous pouvez ajouter l'instruction suivante dans le code pour vous connecter à la base de données :
$mysqli = new mysqli("localhost", "username", "password", "my_database"); $mysqli->set_charset("utf8mb4");
Avant d'exécuter l'instruction de requête SQL, vous devez également définir le jeu de caractères sur utf8mb4. Vous pouvez ajouter l'instruction suivante avant d'exécuter l'instruction de requête :
$mysqli->query("SET NAMES 'utf8mb4'");
Lors du traitement des données chinoises en PHP, vous devez vous assurer d'utiliser l'encodage UTF-8. Le codage UTF-8 est utilisé lors de l'enregistrement ou de la lecture de données dans la base de données. Par exemple :
$name = "张三"; $name = utf8_encode($name); // 将字符串转换为 UTF-8 编码 $result = $mysqli->query("INSERT INTO my_table (name) VALUES ('$name')");
Enfin, lors de l'affichage des données sur une page Web, vous devez également définir l'encodage de la page sur UTF-8 pour garantir que les données chinoises s'affichent correctement. Vous pouvez ajouter le code suivant à l'en-tête HTML :
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Grâce à la méthode ci-dessus, vous pouvez résoudre efficacement le problème de données chinoises tronquées qui se produit lorsque PHP se connecte à la base de données MySQL. Le respect des paramètres de jeu de caractères et des spécifications d'encodage corrects peut garantir le stockage, la lecture et l'affichage corrects des données. J'espère que le contenu ci-dessus sera utile à tout le monde.
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!