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
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.