Maison >développement back-end >Problème PHP >Comment résoudre les données chinoises tronquées affichées dans la base de données PHP
PHP est un langage de script côté serveur populaire, idéal pour travailler avec des applications Web. Dans les applications PHP, il est souvent nécessaire de récupérer et d'afficher les données d'une base de données. Cependant, lorsque PHP tente de récupérer des caractères chinois de la base de données, il peut rencontrer le problème dit du « code tronqué ». Cet article explique comment résoudre le problème des caractères chinois tronqués dans PHP affichant les données de la base de données.
Tout d'abord, déterminez le codage des caractères utilisé par la base de données. La base de données MySQL utilise le codage "Latin1" par défaut, ce qui signifie qu'elle ne peut gérer correctement que les caractères occidentaux, comme l'anglais. Si votre base de données contient des scripts chinois ou autres scripts non latins, vous devez envisager de modifier le codage de la base de données. Dans MySQL, vous pouvez utiliser la commande suivante pour modifier le jeu de caractères de la base de données :
ALTER DATABASE dbName CHARACTER SET utf8;
Où "dbName" est le nom de votre base de données, "utf8" est un jeu de caractères Unicode couramment utilisé, qui prend en charge plusieurs caractères de langue, y compris le chinois.
Après avoir déterminé comment la base de données est codée, vous devez vérifier le jeu de caractères de la table. Si le jeu de caractères de la table n'est pas cohérent avec celui de la base de données, des problèmes surviendront. Vous pouvez vérifier le jeu de caractères d'une table en utilisant la commande suivante :
SHOW CREATE TABLE tableName;
où "tableName" est le nom de votre table. Dans les résultats, vous verrez les informations suivantes :
CREATE TABLE tableName ( id int(11) NOT NULL, name varchar(50) CHARACTER SET utf8 NOT NULL, age int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Comme vous pouvez le constater, le champ "nom" du tableau utilise le jeu de caractères "utf8". Si vous constatez que le jeu de caractères du tableau n'est pas cohérent avec le jeu de caractères de la base de données, utilisez la commande suivante pour modifier le jeu de caractères du tableau :
ALTER TABLE tableName CONVERT TO CHARACTER SET utf8;
même si le jeu de caractères de la base de données et de la table est configuré correctement, le script PHP doit toujours définir correctement le jeu de caractères pour interpréter correctement les caractères chinois dans la base de données. Normalement, PHP utilise par défaut le jeu de caractères ISO-8859-1, qui est un jeu de caractères étendu ASCII et ne prend pas en charge le chinois. Par conséquent, nous devons spécifier explicitement le jeu de caractères dans le script. Vous pouvez définir votre script PHP sur le jeu de caractères "utf-8" en utilisant une commande comme celle-ci :
header("Content-Type:text/html;charset=utf-8");
Ajoutez cette commande au début de votre script PHP.
Enfin, dans le script PHP, vous devez vous assurer que la connexion à la base de données est définie sur le jeu de caractères "utf-8". Vous pouvez définir cette option dans le code de connexion à la base de données du script PHP, par exemple :
$conn = mysql_connect($dbhost, $dbuser, $dbpass); mysql_select_db($dbname, $conn); mysql_query("SET NAMES 'utf8'", $conn);
De cette façon, PHP interprétera correctement les caractères chinois de la base de données et évitera les caractères tronqués.
Dans les applications PHP, il est très important de gérer et d'afficher correctement les données chinoises. En suivant les étapes ci-dessus, vous pouvez configurer des scripts et des bases de données PHP pour garantir que les données chinoises sont traitées et affichées correctement et pour éviter les caractères tronqués.
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!