Maison > Article > développement back-end > Comment résoudre les données tronquées insérées dans MySQL par php
Lorsque vous utilisez PHP pour écrire dans la base de données MySQL, des caractères tronqués apparaissent parfois après l'insertion des données. Il peut y avoir de nombreuses raisons pour lesquelles des caractères tronqués, telles qu'une incompatibilité de jeu de caractères, un jeu de caractères non UTF-8, un jeu de caractères de connexion à la base de données, etc. Analysons ces causes possibles de caractères tronqués et proposons quelques solutions.
1. Incompatibilité des jeux de caractères
Lorsqu'un jeu de caractères différent du jeu de caractères par défaut de la base de données MySQL est utilisé dans le code PHP, des caractères tronqués peuvent apparaître.
Solution : utilisez la commande SET NAMES de MySQL dans le code pour forcer la spécification du jeu de caractères. Par exemple :
mysql_query("SET NAMES 'utf8'");
2. Jeu de caractères non UTF-8
Si le code PHP utilise un jeu de caractères non UTF-8, mais que la base de données et la table MySQL utilisent le jeu de caractères UTF-8, des caractères tronqués peuvent apparaître.
Solution : définissez le jeu de caractères du code PHP ainsi que de la base de données et de la table MySQL sur UTF-8.
3. Jeu de caractères de connexion à la base de données
Lors de l'établissement d'une connexion à la base de données, si le jeu de caractères de connexion n'est pas explicitement spécifié, le jeu de caractères par défaut de MySQL sera utilisé, ce qui entraînera des caractères tronqués.
Solution : lors de la connexion à la base de données, utilisez la fonction mysqli_set_charset() pour spécifier manuellement le jeu de caractères de connexion. Par exemple :
$mysqli = new mysqli("localhost", "username", "password", "database"); $mysqli->set_charset("utf8");
4. Problème de soumission du formulaire frontal
Parfois, des caractères tronqués peuvent apparaître car le jeu de caractères n'est pas spécifié lors de la soumission du formulaire frontal, ce qui entraîne une incompatibilité des jeux de caractères.
Solution : utilisez la balise dans l'en-tête HTML de la page frontale pour spécifier le jeu de caractères, par exemple :
<meta charset="utf-8">
Résumé
Si vous rencontrez le problème des caractères tronqués après l'écriture de PHP sur MySQL, vous pouvez dépanner sous les quatre angles ci-dessus et résoudre. Lors de l’écriture du code, nous devons suivre le principe d’un jeu de caractères unifié pour éviter les caractères tronqués. Dans le même temps, vous devez également vérifier à plusieurs reprises dans les applications réelles que les données sont correctement écrites dans la base de données.
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!