Maison  >  Article  >  base de données  >  Explication détaillée de la solution au problème chinois tronqué dans Mysql5.7

Explication détaillée de la solution au problème chinois tronqué dans Mysql5.7

黄舟
黄舟original
2017-03-17 13:30:351649parcourir

Lors de l'utilisation de mysql5.7, vous constaterez que des caractères tronqués apparaîtront après avoir écrit du chinois dans la base de données via l'extrémité Web. Cependant, après avoir directement exécuté l'instruction SQL insertion de données dans la base de données, les chinois seront utilisés. s'affichera normalement. Ce problème Comment le résoudre ? L'éditeur partagera la solution avec vous ci-dessous

Lorsque vous utilisez mysql5.7, vous constaterez que des caractères tronqués apparaîtront après avoir écrit du chinois dans la base de données via le Web. fin, mais lorsque vous utilisez directement l'instruction SQL dans la base de données. Après avoir inséré les données, les caractères chinois s'affichent normalement. Comment résoudre ce problème ? Le processus de codage des données et les principes de MySQL ne seront pas expliqués ici. Si vous êtes intéressé, vous pouvez le faire vous-même.

Ci-dessous, nous utiliserons directement les opérations suivantes pour résoudre le problème :

1. Ouvrez la console MySQL et entrez la commande show variables like 'character%';

L'affichage est le suivant :

 +--------------------------+-------------------------------------------+
| Variable_name      | Value                   |
+--------------------------+-------------------------------------------+
| character_set_client   | latin1                  |
| character_set_connection | latin1                  |
| character_set_database  | utf8                   |
| character_set_results  | latin1                  |
| character_set_server   | utf8                   |
| character_set_system   | utf8                   |
| character_sets_dir    | C:\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+-------------------------------------------+

2. Modifiez le fichier my.ini

 [client]

  default-character-set=utf8

  [mysqld]
  default-storage-engine=INNODB
  character-set-server=utf8
  collation-server=utf8_general_ci

3. Utilisez le commande dans la première étape pour afficher après le redémarrage, comme suit :

  +--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

et le jeu de caractères par défaut de Character_set_database et Character_set_server est toujours latin1.

4. Entrez la commande : set names utf8;

Après le redémarrage, utilisez la commande de la première étape pour afficher :

+--------------------------+------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\wamp64\bin\mysql\mysql5.7.9\share\charsets\ |
+--------------------------+------------------------------------------------+
Sauf Character_set_filesystem est binaire Sauf que tout le reste est utf8

De cette façon, si vous le définissez sur l'encodage utf8 côté Web, vous pouvez le saisir normalement dans la base de données.

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