我试图将表情符号存储到我的服务器中的数据库中.我使用AWS EC2实例作为服务器,我的服务器详细信息如下:
操作系统:ubuntu0.14.04.1
MySQL版本:5.6.19-0ubuntu0.14.04.1 - (Ubuntu)
数据库客户端版本:libmysql - mysqlnd 5.0.11-dev - 20120503
我使用以下SQL在服务器中创建了一个数据库测试和表格表情符号:
CREATE DATABASE IF NOT EXISTS `test` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE `test`;
CREATE TABLE IF NOT EXISTS `emoji` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`text` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1;
Run Code Online (Sandbox Code Playgroud)
当我尝试执行以下插入时,会出现警告并且数据未正确存储:
INSERT INTO `test`.`emoji` (`id` , `text`) VALUES (NULL , ' ');
Run Code Online (Sandbox Code Playgroud)
插入的行ID:3
警告:#1366字符串值不正确:'\ xF0\x9F\x91\x86\xF0 ...'代表第1行的'text'列
存储在文本列中的值为:???? ???? ???? ????
相同的方案适用于我的本地数据库,并且值正确存储.除了操作系统(Windows)之外,我的本地几乎所有配置都相似.