最小化MariaDB设置以处理表情符号

时间:2019-03-31 01:28:04

标签: unicode mariadb utf8mb4

我跟随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 图片通过https://github.com/kaihendry/GoApiTutorial/blob/master/docker-compose.yml

测试上述sql

1 个答案:

答案 0 :(得分:0)

当我将command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']添加到docker-compose.yml

utf8 in MySQL

完成此操作后,表情符号字符似乎可以正常工作。但是我发现我可以在数据库创建中设置字符集/排序规则,例如:

 CREATE DATABASE rest_api_example character set utf8mb4 collate utf8mb4_unicode_ci;

那效果更好,我不必摆弄mysqld设置。