Сохранить смайлики в MYSQL DB - PullRequest
1 голос
/ 17 марта 2019

Я пытаюсь сохранить смайлики в своей базе данных MYSQL, я выполнил следующие действия

3 ШАГА

  1. ИЗМЕНИТЬ ТАБЛИЦУ ТАБЛИЦЫ, ОБРАТИТЬСЯ К НАБОРУ ХАРАКТЕРОВ utf8mb4 COLLATE utf8mb4_unicode_ci;ALTER TABLE COLUMN изменить текст комментария charset utf8mb4;

  2. SET NAMES utf8mb4;

С помощью вышеуказанных шагов я могу сохранить смайлики в БД, ночерез некоторое время я не могу их снова увидеть, мне нужно выполнить следующую команду

SET NAMES utf8mb4;

Тогда это сработает

Обязательно ли использовать следующий оператор?

SET NAMES utf8mb4;

Неужели у нас нет постоянного решения или пути к этому?

1 Ответ

2 голосов
/ 17 марта 2019

Причина, по которой вам иногда приходится снова выполнять SET NAMES, заключается в том, что команда изменяет конфигурацию только для текущего сеанса.

В соответствии с документацией :

13.7.5.3 SET NAMES Синтаксис

Этот оператор устанавливает три системных переменных сеанса character_set_client, character_set_connection и character_set_results в заданный набор символов.

Если вы хотите установить его постоянно, вам нужно задать определение его при запуске службы mysql или добавить его в файл конфигурации MySQL.

Извлечь https://dev.mysql.com/doc/refman/5.7/en/charset-connection.html

В качестве альтернативы (в зависимости отна каком клиенте MySQL вы используете для узла) вы можете определить набор символов подключения непосредственно из вашего клиента.

...