Maison  >  Article  >  développement back-end  >  Un moyen efficace de résoudre le problème du code tronqué lors de la connexion de PHP à MySQL

Un moyen efficace de résoudre le problème du code tronqué lors de la connexion de PHP à MySQL

WBOY
WBOYoriginal
2024-03-06 12:36:04728parcourir

有效解决 PHP 连接 MySQL 乱码困扰的方法

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.

  1. Paramètres du jeu de caractères de la base de données et de la table

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;
  1. Définissez 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 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");
  1. Définissez le jeu de caractères lors de l'interrogation de la base de données

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'");
  1. Utilisez l'encodage UTF-8 lors de l'exploitation de la base de données

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')");
  1. Définissez l'encodage de la page lors de l'affichage des données

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!

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