Maison >développement back-end >Problème PHP >Que dois-je faire si PHP ne peut pas écrire de données chinoises dans la table de la base de données ?
Solution au problème selon lequel php ne peut pas écrire de données chinoises dans la table de la base de données : 1. Modifiez le jeu de caractères utilisé par MySQL en utf8 ; 2. Modifiez le jeu de caractères utilisé pour l'encodage du fichier php en utf-8 ; le codage utilisé par la page Web frontale est utf-8.
L'environnement d'exploitation de cet article : système Windows10, php 7&&mysql 5.0, ordinateur thinkpad t480.
Dans le processus d'apprentissage de PHP, nous pouvons rencontrer des situations où les données chinoises ne peuvent pas être insérées dans la table de données, et des situations où la page Web frontale ne peut pas afficher correctement les données chinoises obtenues à partir de la base de données. Lorsque nous rencontrons ce problème, nous devons modifier le jeu de caractères utilisé par MySQL en utf8, modifier le jeu de caractères utilisé pour l'encodage des fichiers PHP en utf-8 et modifier l'encodage de caractères utilisé par la page Web frontale en utf-8, afin que le problème puisse être résolu.
Les étapes spécifiques sont les suivantes :
1. Exécutez MySQLInstanceConfig.exe dans le répertoire d'installation de MySQL et configurez l'encodage par défaut sur utf8 ;
N'oubliez pas de sélectionner "Meilleur support pour le multilinguisme" et de sélectionner "utf8" dans le menu déroulant ; dans la liste ci-dessous
Une fois la configuration terminée, vérifiez le paramètre "default-character-set" dans le fichier my.ini sous le chemin d'installation de MySQL. Il doit être défini sur utf8 à ce moment-là. default-character-set=utf8
2.1 Spécifiez l'encodage utf8 lors de la création de la base de données :
CREATE DATABASE database_name CHARACTER SET “utf8” COLLATE “utf8_general_ci”;
2.2 Spécifiez l'encodage utf8 lors de la création de la table de données :
CREATE TABLE table_name ( Column_name datatype, ...... )ENGINE=InnoDB DEFAULT CHARSET=utf8;
3. Définissez l'encodage du fichier sur utf-8 ; en utilisant PhpStorm, son encodage de fichier par défaut est utf-8, pas besoin de changer
4 Définissez le jeu de caractères utilisé sur la page sur utf-8 :
5 Avant d'opérer sur les données, vous devez d'abord effectuer la requête mysql_query. ('définir les noms utf8'); opération, puis effectuer l'opération sur les données Requête, mise à jour, insertion, etc.
6. Enfin, définissez le jeu de caractères utilisé par les données source du client et le jeu de caractères du résultat de la requête sur gbk :
SET Character_set_client =gbk; //Lors de l'insertion de données chinoises directement à partir du client de ligne de commande MySQL, les données stockées seront ne seront pas tronqués
SET Character_set_results =gbk; //Les données chinoises renvoyées par le client de ligne de commande MySQL ne seront pas tronquées
PS : Le contenu ci-dessus concerne MySQL Server 5.0. Dans MySQL Server 5.6, tous les encodages de caractères sont utilisés par. par défaut Ils sont tous utf8
Apprentissage recommandé :
php trainingCe 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!