Maison  >  Article  >  base de données  >  Comment résoudre les caractères chinois mysql tronqués

Comment résoudre les caractères chinois mysql tronqués

PHPz
PHPzoriginal
2023-04-20 10:10:061228parcourir

Ces dernières années, la base de données MySQL est devenue le système de gestion de bases de données de choix pour de nombreuses entreprises, notamment dans le domaine d'Internet, et on peut même dire que sa fréquence d'utilisation est incroyablement élevée. Cependant, même une base de données de niveau supérieur comme MySQL ne peut éviter des problèmes inexplicables. L'un des problèmes courants est celui des caractères chinois tronqués.

Le problème des caractères chinois tronqués signifie qu'après avoir importé les données stockant les caractères chinois dans la base de données MySQL, et lorsque nous ouvrons la page Web correspondante ou interrogeons les données pertinentes, les caractères chinois affichés sur la page sont tronqués, ce qui entraîne une lisibilité de la page entière ou les données doivent être considérablement réduites.

La cause première de ce problème est que le jeu de caractères par défaut utilisé par la base de données MySQL est Latin1 au lieu de UTF-8, ce qui fait que les caractères chinois du fichier texte importé ne sont pas correctement convertis en codage UTF-8.

Alors, comment résoudre le problème des caractères chinois tronqués dans MySQL ? Voici quelques solutions :

  1. Modifiez le jeu de caractères par défaut de MySQL en UTF-8

Dans le fichier de configuration MySQL my.cnf, recherchez les sections [client] et [mysqld] et modifiez le jeu de caractères en utf8mb4. Par exemple :

[client]
default-character-set=utf8mb4

[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

Après le redémarrage du service MySQL, toutes les tables et données de données seront utilisé le jeu de caractères utf8mb4.

  1. Utilisez la commande "set noms 'utf8'" pour réinitialiser le jeu de caractères avant d'importer des données

Avant d'effectuer des opérations sur la base de données, utilisez la commande "set noms 'utf8'" pour définir le codage de caractères de MySQL sur UTF-8, par exemple exemple :

mysql> définir les noms 'utf8';

Cette opération convertira correctement les données des instructions SQL suivantes en codage UTF-8 pour éviter les caractères tronqués.

  1. Spécifiez manuellement le jeu de caractères dans le code

Lors de la connexion à la base de données MySQL, spécifiez manuellement le jeu de caractères dans l'élément de configuration. Par exemple, lorsque vous utilisez PHP pour vous connecter à MySQL, vous pouvez utiliser le code suivant :

$conn = mysqli_connect($servername, $username, $password, $dbname);
mysqli_set_charset($conn, "utf8");

Spécifier manuellement Le jeu de caractères peut garantir que la base de données MySQL peut le convertir correctement en jeu de caractères cible lors de la lecture des données afin d'éviter les caractères tronqués.

Pour résumer, pour résoudre le problème des caractères chinois tronqués dans MySQL, nous pouvons utiliser de nombreuses méthodes. Lorsque le jeu de caractères par défaut de MySQL n'est pas UTF-8, modifier le jeu de caractères par défaut en UTF-8 est la solution la plus complète. De plus, nous pouvons également réinitialiser le jeu de caractères avant d'importer des données, ou spécifier manuellement le jeu de caractères dans le code pour éviter le problème de MySQL affichant des caractères chinois tronqués, garantissant ainsi la lisibilité et l'exactitude des 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