Preguntas de la entrevista de MySQL: juego de caracteres de MySQL, reglas de corrección de caracteres

Prefacio

Este entorno se basa en el sistema Centos 7.8 para construir MySQL-5.7.14 para
una construcción específica, consulte la construcción del entorno MySQL-5.7.14


El conjunto de caracteres de MySQL incluye dos conceptos: conjunto de caracteres (CARÁCTER) y colación (COLLATION):

Ver el conjunto de caracteres de 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)

Ver las reglas de clasificación de caracteres de 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. ¿Cuáles son los sufijos de nomenclatura del juego de caracteres MySQL? Qué significa eso?

Las reglas de nomenclatura de secuencias de caracteres de MySQL son: comience con el nombre del juego de caracteres correspondiente a la secuencia de caracteres, al centro con el nombre del país (o al centro con general) y termine con ci, cs o bin.

  • ci: significaNo distingue entre mayúsculas y minúsculas
  • cs: significaDistingue mayúsculas y minúsculas
  • bin significa comparar según el valor codificado en binario

Dos, modificar el juego de caracteres MySQL

Modificamos el juego de caracteres de la base de datos modificando el archivo de configuración del servicio MySQL, que tiene efecto globalmente para
ver el juego de caracteres de la base de datos actual

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)

Modificar el juego de caracteres de la base de datos

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

Cierre sesión en la base de datos, inicie sesión nuevamente y verifique el juego de caracteres de la base de datos nuevamente

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)

Nota: character_set_filesystem el juego de caracteres predeterminado es binario, que es una configuración fija y no se puede modificar

Supongo que te gusta

Origin blog.csdn.net/XY0918ZWQ/article/details/112567311
Recomendado
Clasificación