Maison >développement back-end >Problème PHP >Comment résoudre le problème que MySQL affiche des caractères tronqués en php

Comment résoudre le problème que MySQL affiche des caractères tronqués en php

zbt
zbtoriginal
2023-08-24 14:18:501667parcourir

MySQL affiche des caractères tronqués en PHP, qui peuvent être résolus en définissant le jeu de caractères de la base de données, en définissant le jeu de caractères de la page PHP, en définissant le jeu de caractères de la base de données et de la table MySQL et en effectuant une conversion d'encodage. Introduction détaillée : 1. Définissez le jeu de caractères de la base de données. En définissant le jeu de caractères, vous pouvez vous assurer que les données obtenues à partir de la base de données sont affichées sur la page Web dans le codage correct. 2. Définissez le jeu de caractères de la page PHP pour vous assurer que le jeu de caractères est correct. La page PHP est sortie en codage UTF-8 Pour afficher correctement les données obtenues à partir de la base de données 3. Définissez le jeu de caractères de la base de données et de la table MySQL, etc.

Comment résoudre le problème que MySQL affiche des caractères tronqués en php

L'environnement d'exploitation de ce tutoriel : système Windows 10, version php8.1.3, ordinateur DELL G3.

MySQL est un système de gestion de bases de données relationnelles populaire et PHP est un langage de script côté serveur couramment utilisé. Lorsque vous utilisez PHP pour vous connecter à une base de données MySQL, vous rencontrez parfois le problème des caractères tronqués, ce qui entraîne l'affichage des données obtenues à partir de la base de données sous forme de caractères tronqués sur la page Web. Cet article présentera quelques méthodes pour résoudre le problème de MySQL affichant des caractères tronqués en PHP.

1. Définir le jeu de caractères de la base de données

Avant de vous connecter à la base de données MySQL, vous pouvez résoudre le problème des caractères tronqués en définissant le jeu de caractères de la base de données. Après vous être connecté à la base de données, vous pouvez utiliser le code suivant pour définir le jeu de caractères :

mysqli_set_charset($conn, "utf8");

Parmi eux, $conn est l'objet de connexion à la base de données, et « utf8 » signifie utiliser le jeu de caractères UTF-8. En définissant le jeu de caractères, vous pouvez vous assurer que les données obtenues à partir de la base de données sont affichées sur la page Web avec le codage correct.

2. Définir le jeu de caractères de la page PHP

En plus de définir le jeu de caractères de la base de données, vous pouvez également définir le jeu de caractères dans la page PHP. Vous pouvez ajouter le code suivant en en-tête de la page PHP :

header('Content-Type: text/html; charset=utf-8');

Cela garantit que la page PHP est sortie en codage UTF-8, affichant ainsi correctement les données obtenues à partir de la base de données.

3. Définissez le jeu de caractères de la base de données et de la table MySQL

Si les deux méthodes ci-dessus ne parviennent toujours pas à résoudre le problème tronqué, vous pouvez essayer de définir le jeu de caractères de la base de données et de la table MySQL. Le jeu de caractères peut être spécifié lors de la création de la base de données, par exemple :

CREATE DATABASE mydatabase CHARACTER SET utf8 COLLATE utf8_general_ci;

où utf8 est le jeu de caractères et utf8_general_ci est le classement. De même, le jeu de caractères peut également être spécifié lors de la création d'un tableau :

CREATE TABLE mytable (
...
) CHARACTER SET utf8 COLLATE utf8_general_ci;

En définissant le jeu de caractères de la base de données et du tableau, vous pouvez vous assurer que les données stockées dans la base de données sont enregistrées dans le codage correct.

4. Convertir l'encodage

Si aucune des méthodes ci-dessus ne peut résoudre le problème tronqué, vous pouvez essayer d'utiliser la fonction intégrée de PHP pour convertir l'encodage après avoir obtenu les données de la base de données. Vous pouvez utiliser le code suivant :

$data = mb_convert_encoding($data, "UTF-8", "原编码");

Parmi eux, $data sont les données obtenues à partir de la base de données, "UTF-8" est l'encodage cible et "original encoding" est l'encodage d'origine. En utilisant la fonction mb_convert_encoding, les données peuvent être converties du codage d'origine en codage UTF-8 afin qu'elles s'affichent correctement sur la page Web.

Résumé :

Lors de l'affichage des données dans la base de données MySQL en PHP, des caractères tronqués apparaissent. Vous pouvez résoudre le problème en définissant le jeu de caractères de la base de données, en définissant le jeu de caractères de la page PHP, en définissant le jeu de caractères de la base de données MySQL et. table et effectuer une conversion de codage. Le choix de la méthode appropriée dépend de la situation spécifique et peut être essayé en fonction des besoins réels. En résolvant le problème des caractères tronqués, vous pouvez garantir que les données obtenues à partir de la base de données sont affichées sur la page Web avec le codage correct, améliorant ainsi l'expérience utilisateur. .

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