【发布时间】:2018-03-24 18:52:02
【问题描述】:
使用 mysql 5.7 拥有此表:
CREATE TABLE `emails` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`subject` varchar(191) COLLATE utf8mb4_bin DEFAULT NULL,
PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;
当我尝试插入一些表情符号时:
INSERT INTO `emails` (`from_address`, `subject`) VALUES (1, 'A????B C????????????D')
我收到:
Incorrect string value: '\xF0\x9F\x98\x80B ...' for column 'subject' at row 1
为什么?如果我使用的是 utfmb?
【问题讨论】:
-
Relevant 是与
SET NAMES utf8mb4关联的问题的第三个答案。 sqlfiddle.com/#!9/d0bbce/1
标签: mysql encoding utf-8 emoji