Минимальная настройка для MariaDB для обработки Emojis - PullRequest
0 голосов
/ 31 марта 2019

Я следовал https://stackoverflow.com/a/35189650/4534, но все равно получаю Error 1366: Incorrect string value, когда отправляю смайлики в "имя":

INSERT INTO `users` (`name`) VALUES ('Foo bar ?');

Настройка SQL:

SET NAMES utf8mb4;
CREATE DATABASE rest_api_example;
USE rest_api_example;
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    age INT NOT NULL
);

Database configuration

Я использую изображение mariadb для проверки вышеуказанного sql через https://github.com/kaihendry/GoApiTutorial/blob/master/docker-compose.yml

1 Ответ

0 голосов
/ 01 апреля 2019

Когда я добавляю command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci'] к docker-compose.yml

utf8 in MySQL

После того, как я это сделал, символы Emoji работают.Однако с тех пор я обнаружил, что я могу установить charset / collation при создании базы данных, например:

 CREATE DATABASE rest_api_example character set utf8mb4 collate utf8mb4_unicode_ci;

И это работает лучше, и мне не нужно возиться с настройками mysqld.

...