问题

报错ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: ‘\xF0\xAC\x89\xBC’

问题原因

utf8不支持表情符号等四字节字符串

解决步骤

1.数据表字段的格式修改为utf8mb4
2.修改windows操作系统mysql目录下的my.ini文件,在文件末尾处添加如下内容:

  1. [client]
  2. default-character-set = utf8mb4
  3. [mysql]
  4. default-character-set = utf8mb4
  5. [mysqld]
  6. character-set-client-handshake = FALSE
  7. character-set-server = utf8mb4
  8. collation-server = utf8mb4_general_ci
  9. init_connect='SET NAMES utf8mb4'

3.重启mysql

其他解决方案:过滤emoji
  1. name = name.replace(/\uD83C[\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F]/g, "");