Maison > Article > base de données > Comment résoudre le problème tronqué de la connexion PHP à MySQL
1. Causes des caractères tronqués
Lors de l'utilisation de PHP pour se connecter à MySQL, si le jeu de caractères de MySQL n'est pas cohérent avec le jeu de caractères de PHP, des caractères tronqués apparaîtront. Les raisons spécifiques sont les suivantes :
Le jeu de caractères de MySQL et celui de PHP sont incohérents
Le jeu de caractères par défaut de MySQL est UTF-8, tandis que le jeu de caractères par défaut de PHP est ISO-8859-1. Si vous ne spécifiez pas de jeu de caractères dans votre code PHP, PHP utilisera le jeu de caractères ISO-8859-1. À ce stade, si les données interrogées depuis MySQL contiennent des caractères UTF-8, des caractères tronqués apparaîtront.
Le jeu de caractères de la table de données MySQL n'est pas cohérent avec le jeu de caractères du serveur MySQL
Dans MySQL, chaque table de données a un jeu de caractères par défaut. Si le jeu de caractères de la table de données n'est pas cohérent avec le jeu de caractères du serveur MySQL, des caractères tronqués peuvent apparaître.
La façon dont PHP se connecte à MySQL est incorrecte
Lors de la connexion à MySQL, PHP dispose de diverses méthodes de connexion, telles que mysql_connect, mysqli_connect, PDO, etc. Différentes méthodes de connexion utiliseront différentes méthodes de codage. Si elles sont mal sélectionnées, cela entraînera des problèmes de code tronqué.
2. Résoudre le problème du code tronqué
Compte tenu des raisons ci-dessus, les mesures suivantes peuvent être prises pour résoudre le problème du code tronqué.
Spécifier le jeu de caractères pour PHP
Dans le code PHP, résolvez le problème des caractères tronqués en spécifiant le jeu de caractères. Vous pouvez utiliser le code suivant :
header('Content-Type:text/html;charset=utf-8');
Modifier le jeu de caractères par défaut MySQL
Vous pouvez modifier le jeu de caractères par défaut MySQL dans le fichier de configuration MySQL my.cnf. Ouvrez le fichier, recherchez la section [mysqld] et ajoutez le code suivant :
character-set-server=utf8
Modifiez le jeu de caractères de la table de données MySQL
Vous pouvez modifier le jeu de caractères de la table de données via l'instruction suivante :
ALTER TABLE {table_name} CONVERT TO CHARACTER SET utf8;
Modifier la méthode MySQL de connexion PHP
Vous pouvez utiliser PDO pour vous connecter à MySQL et spécifier le jeu de caractères lors de la connexion, comme indiqué ci-dessous :
$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'password');
Si vous utilisez mysqli pour vous connecter à MySQL, vous pouvez spécifier le caractère défini via le code suivant :
$mysqli = mysqli_connect('localhost', 'root', 'password', 'test'); mysqli_set_charset($mysqli, 'utf8');
Enregistrez le fichier PHP encodé au format UTF-8
Si votre fichier PHP contient des caractères chinois, vous devez enregistrer le fichier au format d'encodage UTF-8 lors de l'enregistrement du fichier, sinon il sera tronqué des personnages apparaîtront.
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!