Maison  >  Article  >  développement back-end  >  Comment résoudre le problème des informations utilisateur tronquées en PHP

Comment résoudre le problème des informations utilisateur tronquées en PHP

藏色散人
藏色散人original
2021-12-22 09:12:491839parcourir

Solutions aux informations utilisateur PHP tronquées : 1. Modifier l'encodage de la base de données ; 2. Modifier l'encodage de la table ; 3. Modifier le jeu de caractères du fichier source ; ; 6. Attendez le jeu de caractères de la page PHP.

Comment résoudre le problème des informations utilisateur tronquées en PHP

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur Dell G3.

Comment résoudre le problème des informations utilisateur php tronquées ?

Solution au problème utf-8 chinois brouillé de php+mysql

Il est recommandé que la base de données soit encodée avec utf8

Résumé du problème :

1 L'encodage par défaut de la base de données MySQL est utf8, si cela est le cas. l'encodage est incohérent avec votre PHP Si la page Web est incohérente, cela peut entraîner une erreur de mysql

2 Lors de la création d'une table dans MYSQL, il vous sera demandé de choisir un encodage si cet encodage est incohérent avec votre page Web.

3. Création MYSQL Vous pouvez choisir l'encodage lors de l'ajout de champs à la table. Si cet encodage est incohérent avec l'encodage de votre page Web, cela peut également provoquer un code MYSQL tronqué.

4. Si l'encodage de la page soumise par l'utilisateur est incompatible avec l'encodage de la page qui affiche les données, cela entraînera certainement des caractères tronqués sur la page php.

5. big5, mais la page sur laquelle la saisie de l'utilisateur est affichée est gb2312, cela entraînera une déformation à 100 % de la page PHP.

6 Le jeu de caractères de la page PHP est incorrect.

7. La connexion PHP à la déclaration de la base de données MYSQL est incorrecte.

Maintenant que les raisons du code tronqué généré en utilisant mysql+php sont clairement comprises, la solution n'est pas difficile.

Solutions aux différents problèmes :

1. L'encodage de la base de données MySQL est utf8. Si cet encodage est incohérent avec votre page Web PHP, cela peut provoquer un code MYSQL tronqué. Si l'encodage de la base de données est incorrect, vous pouvez exécuter la commande suivante dans phpmyadmin :

Alter DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
.

Ci-dessus La commande consiste à définir l'encodage de la base de données de test sur utf8.

2 Lors de la création d'une table dans MYSQL, il vous sera demandé de choisir un encodage. Si cet encodage est incohérent avec l'encodage de votre page Web, cela peut également provoquer. Code MYSQL tronqué.

Modifier l'encodage de la table :

Alter TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

La commande ci-dessus consiste à modifier l'encodage d'une catégorie de table en utf8. l'encodage est incohérent avec l'encodage de votre page Web, cela peut également provoquer un code MYSQL tronqué. .

Modifiez l'encodage du champ :

Alter TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

La commande ci-dessus consiste à changer l'encodage du champ de dd dans la table de test en utf8.

4. L'encodage de la page soumise par l'utilisateur est incompatible avec l'encodage de la page affichant les données, ce qui entraînera certainement une déformation de la page PHP.

Si cette situation est facile à résoudre, vérifiez simplement la page et modifiez-la. jeu de caractères du fichier source.

5. Si la page sur laquelle l'utilisateur saisit les informations est du code big5, mais que la page sur laquelle la saisie de l'utilisateur est affichée est gb2312, ce 100 % entraînera une déformation de la page PHP

Dans ce cas. Dans ce cas, vous pouvez également modifier le jeu de caractères de la page.

6. Le jeu de caractères de la page PHP est incorrect.

Afin d'éviter l'apparition de caractères tronqués sur la page PHP, la première phrase au début de la page PHP.

header("content-type:text/html; charset=utf-8");
//强行指定页面的编码,以避免乱码

7. L'encodage spécifié dans l'instruction PHP pour se connecter à la base de données MYSQL est incorrect.

Dans l'instruction pour se connecter à la base de données.

mysql_connect('localhost','user','password');
mysql_select_db('my_db');
mysql_query("set names 'utf8'"); //select 数据库之后加多这一句

Apprentissage recommandé : "

Tutoriel vidéo 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