Maison >base de données >tutoriel mysql >Comment définir l'encodage UTF-8 dans MySQL

Comment définir l'encodage UTF-8 dans MySQL

PHPz
PHPzoriginal
2023-04-21 11:24:163581parcourir

MySQL est un système de gestion de bases de données relationnelles open source largement utilisé dans divers sites Web et applications. Les problèmes de codage sont essentiels à l’exactitude et à l’intégrité des données de la base de données. Cet article explique comment définir le codage UTF-8 dans MySQL.

1. Comprendre le codage UTF-8

1.1 Introduction à UTF-8

UTF-8 est un format de codage de caractères Unicode, qui peut représenter tous les caractères de la norme Unicode, il est donc largement utilisé dans l'internationalisation et le multilingue. dans les sites Web et les applications pris en charge. Comparé à d'autres formats de codage de caractères, UTF-8 utilise un espace de stockage plus compact et convient à diverses occasions de stockage et de transmission de données.

1.2 Principe de codage UTF-8

Le codage UTF-8 utilise une méthode de codage à longueur variable. Généralement, 1 à 4 octets sont utilisés pour représenter un caractère, le premier octet étant utilisé pour représenter la longueur totale du caractère. nombre d'octets, et les octets suivants sont utilisés pour stocker un contenu de caractères spécifique. Les règles d'encodage spécifiques sont les suivantes :

Plage                                                                                                      -0000 007F

0xxxxxxx0000 0080- 0000 07FF110xxxxx 10xxxxxx0000 0800-0000 FFFF 1110xxxx 10xxxxxx 10xxxxxx0001 0000 -0010 FFFF11110xxx 10xxxxxx 10xxxxxx 10xxxxxx2.1 Modifier le fichier de configuration my.cnf character-set-server=utf8collation-server=utf8_general_ci
où, x représente un bit binaire, UTF- La longueur d'encodage de 8 varie en fonction du nombre d'octets occupés par les caractères. Elle peut représenter un maximum de 4 octets de. caractères, qui sont la « section de substitution haute » et la « section de substitution basse » en Unicode. 2. Définir le codage des caractères de MySQL
Dans l'environnement Linux, le fichier de configuration MySQL est /etc/my.cnf Vous pouvez ajouter les éléments de configuration suivants pour définir le caractère. encodage de la base de données. : [mysqld]
Parmi eux, Character-set-server est utilisé pour définir le jeu de caractères utilisé par MySQL pour créer des tables par défaut. , tandis que collation-server définit le jeu de caractères par défaut utilisé par les règles de tri MySQL. Ici, ils sont tous définis sur le codage UTF-8 pour garantir l'exactitude et la compatibilité des différents caractères de la base de données. Une fois la modification terminée, redémarrez le service MySQL pour recharger le fichier de configuration my.cnf :

$ service mysql restart

2.2 Modifier directement la base de données

Si vous souhaitez modifier l'encodage des caractères des tables ou des champs d'une base de données existante , alors vous pouvez utiliser la commande SQL suivante :

ALTER DATABASE nom de la base de données CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;


Parmi eux, utf8mb4 est un moyen de stocker l'encodage UTF-8 dans MySQL et peut représenter tous les encodages de caractères Unicode. Dans le même temps, il convient de noter que différentes versions de MySQL peuvent prendre en charge différentes méthodes de codage de caractères, vous devez donc vous référer aux documents correspondants lors de la modification du codage de caractères.

2.3 Modifier l'encodage de connexion

Dans les langages de programmation tels que PHP, la connexion à MySQL nécessite également de définir l'encodage des caractères pour garantir l'exactitude des données. Dans la connexion MySQLi, vous pouvez utiliser le code suivant pour le définir :

$mysqli = new mysqli("localhost", "username", "password", "dbname");

mysqli_set_charset($mysqli,"utf8") ;

En connexion PDO, vous pouvez utiliser le code suivant :

$dsn = "mysql:host=localhost;dbname=dbname;charset=utf8";

$options = array(PDO::ATTR_ERRMODE => PDO : :ERRMODE_EXCEPTION);

$pdo = new PDO($dsn, "username", "password", $options);

3. Résumé

En tant que base de données relationnelle largement utilisée dans les sites Web et les applications, MySQL doit être correctement configuré. l’encodage est crucial. Grâce à l'introduction de cet article, nous comprenons le principe du codage UTF-8 et comment définir le codage des caractères dans MySQL. Dans le développement réel, le codage des caractères de MySQL doit être défini de manière appropriée en fonction des différents besoins et scénarios pour garantir l'exactitude et l'intégrité 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