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 ?

Que dois-je faire si PHP ne peut pas écrire de données chinoises dans la table de la base de données ?

王林
王林original
2021-09-27 18:23:392201parcourir

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.

Que dois-je faire si PHP ne peut pas écrire de données chinoises dans la table de la base de données ?

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 training

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