MySQL utf8mb4 кодировка: поддержка Emoji (поле или таблица)

Как правило, наш формат кодирования данных по умолчанию установлен в 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

1233356-4cc10b922a41aa80

Публичная учетная запись первого сообщества разработчиков Kotlin в Китае, которое в основном делится и обменивается связанными темами, такими как язык программирования Kotlin, Spring Boot, Android, React.js / Node.js, функциональное программирование и идеи программирования.

Чем шумнее мир, тем спокойнее нужно мышление.

Опубликовано 1665 оригинальных статей · 1067 похвалено · 750 000 просмотров

рекомендация

отblog.csdn.net/universsky2015/article/details/105531344