Comment résoudre les données tronquées insérées dans MySQL par php

PHPz
Libérer: 2023-04-03 20:40:01
original
1239 Les gens l'ont consulté

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'");
Copier après la connexion

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");
Copier après la connexion

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">
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal