MySQL est un système de gestion de base de données relationnelle open source qui prend en charge plusieurs formats d'encodage. Lors de la définition du format d'encodage de MySQL, vous devez prendre en compte l'adaptabilité entre les différents formats d'encodage des bases de données, des tables et des colonnes pour garantir l'exactitude et l'intégrité des données. Cet article fournira une introduction détaillée et une explication du format d'encodage de MySQL.
1. Introduction au format d'encodage MySQL
Les formats d'encodage MySQL sont divisés en deux types, à savoir le jeu de caractères et le jeu de relecture. Les jeux de caractères sont utilisés pour définir des jeux de caractères, tandis que les jeux de classement sont utilisés pour définir des règles de comparaison de chaînes et de classement. Les jeux de caractères et les jeux de classement sont des éléments importants de MySQL car ils affectent directement le stockage et l'affichage des données.
1.Jeu de caractères
Le jeu de caractères fait référence à un ensemble de règles de codage de caractères. Les modes de jeu de caractères pris en charge par MySQL incluent :
(1) ASCII : correspond au jeu de caractères anglais et ne contient que 128 encodages de caractères.
(2) Latin1 ou ISO-8859-1 : contient des caractères spéciaux de la plupart des langues européennes, dont un total de 256 codes de caractères.
(3) Unicode : il s'agit du type de jeu de caractères le plus couramment utilisé à l'heure actuelle. Il prend en charge les caractères dans diverses langues à travers le monde et contient plus de 100 000 encodages de caractères, notamment UCS-2, UTF-16 et UTF-8. etc.
2. Proofset
Proofset est utilisé pour définir des règles de comparaison et de tri de chaînes. Les ensembles de classement pris en charge par MySQL incluent :
(1) ascii_general_ci : il n'est pas sensible à la casse pour les caractères de la plage de caractères ASCII, mais il est sensible à la casse dans les autres plages de caractères.
(2) utf8_general_ci : Il localise tous les caractères lors de la correspondance, du tri et de la comparaison.
(3) utf8_unicode_ci : il effectuera une comparaison Unicode standard sur les caractères et prendra en charge les langages de jeu de caractères complexes.
2. Définir le format d'encodage MySQL
La définition du format d'encodage MySQL est principalement divisée en les aspects suivants :
1. Définir le format d'encodage du serveur
Lorsque le service MySQL démarre, un format d'encodage par défaut sera défini. Nous devons définir le format d'encodage dont nous avons besoin dans le fichier my.cnf.
Ouvrez le fichier my.cnf, recherchez le bloc de paramètres [mysqld] et définissez les valeurs du jeu de caractères et du jeu de classement.
character-set-server = utf8
collation-server = utf8_general_ci
Redémarrez le service mysql pour que les modifications prennent effet.
2. Définir le format d'encodage de la base de données
Si vous utilisez MySQL Workbench pour gérer la base de données et créer des tables, vous pouvez directement définir le format d'encodage et les règles de relecture pendant le processus de création des tables. Sous l'onglet "Définition des données", définissez le format d'encodage et les règles de relecture du tableau.
3. Définir le format d'encodage du tableau
Lors de la création du tableau, nous devons définir clairement le format d'encodage et l'ensemble de relecture du tableau, et le numéroter dans l'instruction de création du tableau.
Par exemple :
CREATE TABLE test
(id
int(11) NOT NULL AUTO_INCREMENT,name
varchar( 50 ) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;test
(id
int(11) NOT NULL AUTO_INCREMENT,name
varchar(50) DEFAULT NULL,
PRIMARY KEY (id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上面的例子中,我们设置了表的字符集为utf8。
4.设置列编码格式
如果要为已经创建好的表的列设置编码格式,可以使用ALTER TABLE语句,使用MODIFY COLUMN子句和字符集和校对规则的指定。
例如:
ALTER TABLE test
MODIFY COLUMN name
test
MODIFY COLUMN name
varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci;🎜🎜Ici, nous spécifions manuellement les caractères pour la colonne de nom du table de test Règles de collecte et de relecture. 🎜🎜Avec les paramètres ci-dessus, nous pouvons faire en sorte que MySQL exploite des données conformes à différents types de caractères codés, et pouvons comparer, trier et stocker correctement les données. Dans le même temps, faites attention au paramètre de format de codage de la connexion à la base de données pour vous assurer que le codage de toutes les données soumises à la base de données correspond au format de codage défini dans la base de données afin d'éviter les anomalies de données et de garantir l'intégrité des données. 🎜🎜En bref, la définition du format d'encodage MySQL est très importante pour garantir un stockage et un affichage normaux des données. Vous devez soigneusement considérer l'adaptabilité du jeu de caractères et du jeu de relecture, et vous assurer que l'encodage de la connexion correspond à l'encodage du serveur pour éviter les anomalies 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!