Résoudre le problème des caractères chinois tronqués dans php mysql

藏色散人
Libérer: 2023-03-07 10:20:02
original
2118 Les gens l'ont consulté

Solution au code tronqué chinois php mysql : 1. Modifiez le format d'encodage dans la base de données ou la table ; 2. Ajoutez "mysqli_query("set names utf8");" à l'instruction PHP ; Ajoutez simplement "header('charset=utf-8');".

Résoudre le problème des caractères chinois tronqués dans php mysql

Recommandé : "Tutoriel vidéo PHP"

Problème de chinois tronqué en PHP et Mysql

Lors de la création d'une base de données avec MySQL, il y aura parfois des problèmes de code tronqué. Voici quelques solutions.

Problème 1 : Le format d'encodage dans la base de données ou la table est incorrect.

Lors de la création de la base de données, utilisez le code suivant pour la créer :

CREATE DATABASE `test`
CHARACTER SET 'utf8'
COLLATE 'utf8_general_ci';
Copier après la connexion

Lors de la création de la table :

CREATE TABLE `table_name` (
id varchar(40) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`UserID` varchar(40) NOT NULL default '',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Copier après la connexion

Une fois ces trois paramètres définis, Mysql n'aura fondamentalement aucun problème, c'est-à-dire que le même format d'encodage sera utilisé lors de la création de bases de données et de tables.

Si la base de données a été créée, vous pouvez utiliser la méthode suivante :

1. Afficher le format d'encodage par défaut :

mysql> show variables like "%char%";  
+--------------------------+---------------+  
| Variable_name | Value |  
+--------------------------+---------------+  
| character_set_client | gbk |  
 character_set_connection | gbk |  
| character_set_database | utf8 |  
 character_set_filesystem | binary |  
| character_set_results | gbk |  
| character_set_server | utf8 |  
| character_set_system | utf8 |  
+--------------------------+-------------+
Copier après la connexion

Remarque : Pour déterminer les 2 précédents, vous vous pouvez utiliser les noms définis utf8, définir les noms gbk définit le format d'encodage par défaut, vous pouvez définir l'encodage de la base de données plus simplement via Workbench.

L'effet de l'exécution de SET NAMES utf8 équivaut à définir ce qui suit en même temps :

SET character_set_client='utf8';  
SET character_set_connection='utf8';  
SET character_set_results='utf8';
Copier après la connexion

2 Vérifiez le format d'encodage de la base de données de test :

mysql> show create database test;  
+------------+------------------------------------------------------------------------------------------------+  
| Database | Create Database |  
+------------+------------------------------------------------------------------------------------------------+  
| test | CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET gbk */ |  
+------------+------------------------------------------------------------------------------------------------+
Copier après la connexion

3. . Vérifiez l'encodage de la table de données yjdb Format :

mysql> show create table yjdb;  
| yjdb | CREATE TABLE `yjdb` (  
`sn` int(5) NOT NULL AUTO_INCREMENT,  
`type` varchar(10) NOT NULL,  
brc` varchar(6) NOT NULL,  
`teller` int(6) NOT NULL,  
`telname` varchar(10) NOT NULL,  
`date` int(10) NOT NULL,  
`count` int(6) NOT NULL,  
`back` int(10) NOT NULL,  
PRIMARY KEY (`sn`),  
UNIQUE KEY `sn` (`sn`),  
NIQUE KEY `sn_2` (`sn`)  
) ENGINE=MyISAM AUTO_INCREMENT=1826 DEFAULT CHARSET=gbk ROW_FORMAT=DYNAMIC |
Copier après la connexion

Problème 2 : l'encodage de transfert PHP et Mysql sont incompatibles

Nécessité d'ajouter

mysqli_query(“set names utf8”);
Copier après la connexion

les noms d'ensemble mysql au PHP. déclaration pour résoudre la cause des caractères tronqués :

http://blog.csdn.net/zsmj_2011/article/details/7943734
Copier après la connexion

Question 3 : Problème de décodage du client :

Ajouter un en-tête('charset=utf-8');

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!

Étiquettes associées:
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