Maison  >  Article  >  développement back-end  >  Comment résoudre le code chinois tronqué lu par PHP depuis MySQL ?

Comment résoudre le code chinois tronqué lu par PHP depuis MySQL ?

青灯夜游
青灯夜游original
2020-07-16 14:43:453355parcourir

Solution : 1. Utilisez pour définir le codage UTF-8 dans le fichier de la page Web ; 2. Définissez le codage UTF-8 lors de la création d'une nouvelle base de données 3. Lors de la connexion à la base de données avec PHP, utilisez "mysql_query("set names 'utf8'");"Définissez le jeu de caractères des données sur utf-8.

Comment résoudre le code chinois tronqué lu par PHP depuis MySQL ?

La prise en charge du chinois par MySQL est encore très limitée, surtout pour les novices. Chaque fois qu'il y a un problème avec des caractères tronqués, ce sera un casse-tête.

Problème de code tronqué :

Utilisation de PHPmyAdmin pour faire fonctionner la base de données MySQL Les caractères chinois s'affichent normalement, mais lors de l'utilisation de pages Web PHP pour afficher MySQL données, tous les caractères chinois deviennent ?Nombre.

Symptôme : Il est normal de saisir des caractères chinois à l'aide de PHPmyAdmin, mais lorsque la page Web PHP affiche des données MySQL, les caractères chinois deviennent des signes ?, et il y a autant de signes ?

Raison : Il n'y a pas de code dans la page Web PHP pour indiquer à MySQL quel jeu de caractères utiliser pour afficher les caractères chinois.

Solution :

1. Définissez l'encodage de l'en-tête du fichier de la page Web

<meta charset="UTF-8">

2. Utilisez l'encodage utf-8 lors de l'enregistrement du fichier. Page PHP. Vous pouvez utiliser Notepad ou convertz802 pour convertir le fichier

3. Lors de la création d'une nouvelle base de données dans MYSQL, sélectionnez l'encodage UTF-8 pour la base de données et le jeu de caractères est défini sur utf-8_unicode_ci (Unicode). (multilingue), écriture insensible à la taille),

Le classement de la table dans la bibliothèque est défini sur utf-8_general_ci

Le classement de chaque champ de la table est défini sur utf-8_general_ci

4. En PHP Lors de la connexion à la base de données, ajoutez

//设置数据的字符集utf-8
mysql_query("set names &#39;utf8&#39;");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

après mysql_connect(). Notez qu'il s'agit de utf8, pas de utf-8.

Si l'encodage de votre page Web est gb2312, alors SET NAMES GB2312. Cependant, l'éditeur recommande fortement que l'encodage des pages Web, le jeu de caractères de la table de données MySQL et PHPmyAdmin utilisent tous UTF-8.

Les quatre points ci-dessus permettent d'obtenir un encodage UTF-8 complet du site, et il n'y aura aucun caractère chinois tronqué dans la base de données.

Extension :

Problème de code tronqué : une erreur s'est produite lors de la saisie de données avec PHPmyAdmin, la saisie n'est pas autorisée ou un code tronqué apparaît

Méthode de solution : il s'agit d'un problème de configuration. Veuillez installer la dernière version de PHPmyAdmin ou Appserv, ouvrez PHPmyAdmin, jeu de caractères MySQL : UTF-8 Unicode (utf8) ; la relecture de la connexion MySQL doit être utf8_unicode_ci lors de la création d'une nouvelle base de données, veuillez également sélectionner utf8_unicode_ci dans la colonne de finition.

Il est également préférable d'utiliser utf-8 comme jeu de caractères Web. UTF-8 est un codage standard international et une tendance.

Recommandations associées : Tutoriel PHP

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