Codificación MySQL utf8mb4: admite emoji (campo o tabla)

En general, nuestro formato de codificación de datos está configurado en utf-8 de manera predeterminada, pero utf-8 no admite expresiones, y las expresiones requieren el campo utf8mb4 (compatible con versiones anteriores de utf-8)

1: Inicie sesión en el servidor desde el terminal o el shell SSH,
2: Modifique my.cnf (linux) o mysql.ini (win)

vim /etc/my.cnf

Agregue o modifique lo siguiente:

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

3: reinicie el servidor MySQL:

service mysql restart
4: Modificar el campo, o la tabla, o el formato de codificación de la base de datos:
nombre_tabla y nombre_columna Modificar según su nombre
Si solo un campo determinado lo admite, use 1

1 Modifique el juego de caracteres de la base de datos:

ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

2 Modifique el conjunto de caracteres de la tabla:

ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3 Modifique el conjunto de caracteres del campo:

ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

5: Ver información de codificación:

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

Inicie sesión en mysql primero:

mysql -u 账号 -p
....
mysql> 
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

El resultado:

mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+--------------------+
| Variable_name            | Value              |
+--------------------------+--------------------+
| character_set_client     | utf8mb4            |
| character_set_connection | utf8mb4            |
| character_set_database   | utf8mb4            |
| character_set_filesystem | binary             |
| character_set_results    | utf8mb4            |
| character_set_server     | utf8mb4            |
| character_set_system     | utf8               |
| collation_connection     | utf8mb4_unicode_ci |
| collation_database       | utf8mb4_unicode_ci |
| collation_server         | utf8mb4_unicode_ci |
+--------------------------+--------------------+
10 rows in set (0.00 sec)

¡La configuración está completa!

Entre ellos:

character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码;
character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;

Mientras los cuatro métodos de codificación anteriores sean iguales, no habrá caracteres confusos.

6: Si no tiene éxito, mire la conexión de la base de datos: los
parámetros de conexión Conector / J de la base de datos de conexión del servidor, no agregue el parámetro characterEncoding. Sin este parámetro, el valor predeterminado es autodetectar.

#jdbc_url=jdbc:mysql://localhost:3306/user?useUnicode=true&
characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull

Eliminar characterEncoding = UTF-8


Comunidad de desarrolladores de Kotlin

1233356-4cc10b922a41aa80

La cuenta pública de la primera comunidad de desarrolladores de Kotlin en China, que comparte e intercambia principalmente temas relacionados, como el lenguaje de programación Kotlin, Spring Boot, Android, React.js / Node.js, programación funcional e ideas de programación.

Cuanto más ruidoso es el mundo, más pensamiento pacífico se necesita.

1665 artículos originales publicados · 1067 elogiados · 750,000 vistas

Supongo que te gusta

Origin blog.csdn.net/universsky2015/article/details/105531344
Recomendado
Clasificación