不正确的字符串值:'\xF0\x9F\x92\x8F\x0A#...对于 mysql 中的列?

SHE*_*ETE 2 mysql unicode symbols sql-insert

我是新手MySQL。我有一列存储Unicode characterMySQL表中。

我有一个代码,它从twitter,facebook等处获取帖子并将text/symbol “原样”插入表中。

CREATE TABLE `tbl_unicode` (
  `_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `first_name` varchar(45) NOT NULL,
  `uninoce_Column` varchar(200) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`_id`)

) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8;


/* This query WONT work due to SYMBOL:   */
INSERT INTO `tbl_unicode`
  (`_id`,
  `first_name`,
  `uninoce_Column`)
VALUES
  (2,
  'rakesh',
  '?????
#??#??#????#');


/* This query WORKS FINE */
INSERT INTO `tbl_unicode`
  (`_id`,
  `first_name`,
  `uninoce_Column`)
VALUES
  (1,
  'shekhar',
  '?????
#??#??#????#');
enter code here
Run Code Online (Sandbox Code Playgroud)

SQLFiddle 中的现场演示

那么,我应该使用哪种数据类型或配置来使其工作。

有什么建议?

bob*_*nce 5

字符集 utf8

MySQL的 utf8字符集不是 UTF-8。那太简单了!相反,它是 UTF-8 的一个有限子集,其中仅支持最多 U+00FFFF 的代码点,可以存储在三个 UTF-8 字节中。是 U+01F48F,所以它不适合表格的字符集。

真实UTF-8字符集在MySQL(5.5和更高版本)已知utf8mb4