NodeJS向MySQL中插入字符串时,如果字符串中包含emoji表情等特殊符号,则可能会报出ER_TRUNCATED_WRONG_VALUE_FOR_FIELD
的错误。
解决这个问题其实很简单,只需要……
- 修改MySQL数据库和表的字符集为utf8mb4
- 修改NodeJS连接MySQL的option,增加
charset
选项
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'password',
database : 'test',
// 增加charset选项,设置字符集为utf8mb4
charset: 'utf8mb4_general_ci'
});
(正文完)