MariaDB 处理表情符号的最小设置
Minimal setup for MariaDB to handle Emojis
我关注了 ,但在将表情符号发布到 "name" 时,我仍然得到 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
);
我使用 mariadb 图像通过 https://github.com/kaihendry/GoApiTutorial/blob/master/docker-compose.yml
测试上面的 sql
当我将 command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
添加到 docker-compose.yml
完成此操作后,表情符号字符似乎可以正常工作。但是我发现我可以在数据库创建中设置 charset/collation,例如:
CREATE DATABASE rest_api_example character set utf8mb4 collate utf8mb4_unicode_ci;
这样效果更好,我不必 fiddle 使用 mysqld 设置。
我关注了 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
);
我使用 mariadb 图像通过 https://github.com/kaihendry/GoApiTutorial/blob/master/docker-compose.yml
测试上面的 sql当我将 command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci']
添加到 docker-compose.yml
完成此操作后,表情符号字符似乎可以正常工作。但是我发现我可以在数据库创建中设置 charset/collation,例如:
CREATE DATABASE rest_api_example character set utf8mb4 collate utf8mb4_unicode_ci;
这样效果更好,我不必 fiddle 使用 mysqld 设置。