Как сохранять Emoji в MySQLi 🔔
19.11.2021 02:31:15 pm
Изначально, мой движок не поддерживает Emoji. При добавлении Emoji в текстовые поля, после сохранения их нет. Я это исправил, и сейчас расскажу, как я это сделал.
И так, после:
Я устанавливаю кодировку, при помощи функции
Я меняю "utf8" на "utf8mb4":
После чего, при помощи phpMyAdmin, меняю кодировку полей на "utf8mb4_general_ci", где будут храниться Emoji.
Готово. Теперь Emoji можно сохранять в MySQLi.
Тест: 😀 😍 👍.
Добавлю: Можно просто сменить тип поля на "BLOB" / "LONGBLOB", после чего можно будет хранить в этих полях Emoji. Но поиск по таким полям станет регистрозависимый (Регистронезависимый поиск в MySQLi).
И так, после:
$this->master = new mysqli($host, $user, $pass, $port, $persistent);
Я устанавливаю кодировку, при помощи функции
mysqli_set_charset
. Была у меня кодировка "utf8":
$this->master->set_charset('utf8');
Я меняю "utf8" на "utf8mb4":
$this->master->set_charset('utf8mb4');
После чего, при помощи phpMyAdmin, меняю кодировку полей на "utf8mb4_general_ci", где будут храниться Emoji.
Готово. Теперь Emoji можно сохранять в MySQLi.
Тест: 😀 😍 👍.
Добавлю: Можно просто сменить тип поля на "BLOB" / "LONGBLOB", после чего можно будет хранить в этих полях Emoji. Но поиск по таким полям станет регистрозависимый (Регистронезависимый поиск в MySQLi).
- Жалоба