Как правило, наш формат кодирования данных по умолчанию установлен в utf-8, но utf-8 не поддерживает выражения, а для выражений требуется поле utf8mb4 (обратная совместимость с utf-8)
1:
войти на сервер из терминала или оболочки SSH, 2: изменить my.cnf (linux) или mysql.ini (win)
vim /etc/my.cnf
Добавьте или измените следующее:
[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: Перезапустите MySQL Server:
Перезапуск службы mysql
4. Измените формат поля, таблицы или базы данных:
table_name и column_name. Измените по своему имени.
Если поддерживается только определенное поле, используйте 1
1 Измените набор символов базы данных:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
2 Измените кодировку таблицы:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
3 Измените набор символов поля:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
5: Просмотр информации о кодировке:
SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
Войдите в MySQL сначала:
mysql -u 账号 -p
....
mysql>
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
Результат:
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)
Настройка завершена!
Среди них:
character_set_client为客户端编码方式;
character_set_connection为建立连接使用的编码;
character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
Пока четыре вышеуказанных метода кодирования одинаковы, искаженные символы не будут.
6: Если неудачно, посмотрите на соединение с базой данных: параметры
соединения Connector / J базы данных соединения с сервером, не добавляйте параметр characterEncoding. Без этого параметра значением по умолчанию является автоопределение.
#jdbc_url=jdbc:mysql://localhost:3306/user?useUnicode=true&
characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
Удалить символEncoding = UTF-8
Сообщество разработчиков Kotlin
Публичная учетная запись первого сообщества разработчиков Kotlin в Китае, которое в основном делится и обменивается связанными темами, такими как язык программирования Kotlin, Spring Boot, Android, React.js / Node.js, функциональное программирование и идеи программирования.
Чем шумнее мир, тем спокойнее нужно мышление.