Questions d'entretien MySQL - Jeu de caractères MySQL, règles de relecture de caractères

Préface

Cet environnement est basé sur le système Centos 7.8 pour construire MySQL-5.7.14 pour
une construction spécifique, veuillez vous référer à la construction de l'environnement MySQL-5.7.14


Le jeu de caractères MySQL comprend deux concepts: le jeu de caractères (CHARACTER) et le classement (COLLATION):

Afficher le jeu de caractères MySQL

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Afficher les règles de classement des caractères MySQL

mysql> show collation;
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
| big5_bin                 | big5     |  84 |         | Yes      |       1 |
| dec8_swedish_ci          | dec8     |   3 | Yes     | Yes      |       1 |
| dec8_bin                 | dec8     |  69 |         | Yes      |       1 |
| cp850_general_ci         | cp850    |   4 | Yes     | Yes      |       1 |
| cp850_bin                | cp850    |  80 |         | Yes      |       1 |
| hp8_english_ci           | hp8      |   6 | Yes     | Yes      |       1 |
| hp8_bin                  | hp8      |  72 |         | Yes      |       1 |
| koi8r_general_ci         | koi8r    |   7 | Yes     | Yes      |       1 |
| koi8r_bin                | koi8r    |  74 |         | Yes      |       1 |
| latin1_german1_ci        | latin1   |   5 |         | Yes      |       1 |
| latin1_swedish_ci        | latin1   |   8 | Yes     | Yes      |       1 |

... ...

1. Quels sont les suffixes de dénomination du jeu de caractères MySQL? Qu'est-ce que ça veut dire?

Les règles de dénomination des séquences de caractères MySQL sont les suivantes: commencer par le nom du jeu de caractères correspondant à la séquence de caractères, centre par le nom du pays (ou centre par général) et se terminer par ci, cs ou bin.

  • ci: signifieInsensible à la casse
  • cs: signifieSensible aux majuscules et minuscules
  • bin signifie comparer selon une valeur codée binaire

Deuxièmement, modifiez le jeu de caractères MySQL

Nous modifions le jeu de caractères de la base de données en modifiant le fichier de configuration du service MySQL, qui prend effet globalement pour
visualiser le jeu de caractères de la base de données courante

mysql> show variables like '%character%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Modifier le jeu de caractères de la base de données

#配置文件中添加设置内容
[root@mysql-server ~]# vim /etc/my.cnf
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8

Déconnectez-vous de la base de données, reconnectez-vous et vérifiez à nouveau le jeu de caractères de la base de données

mysql> show variables like '%character%';
+--------------------------+----------------------------+
| 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       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

Remarque: le jeu de caractères par défaut character_set_filesystem est binaire, ce qui est un paramètre fixe et ne peut pas être modifié

Je suppose que tu aimes

Origine blog.csdn.net/XY0918ZWQ/article/details/112567311
conseillé
Classement