数据库已设置字符集为utf8mb4, 但是由于node使用的mysql依赖 connector版本可能太低,有字符集issue,
package.json
代码语言:javascript复制1"mysql": "2.18.1"
解决办法
直接强行修改 node_modules/mysql/lib/ConnectionConfig.js 第59行
代码语言:javascript复制1this.charsetNumber = (options.charset)
2
3? ConnectionConfig.getCharsetNumber(options.charset)
4
5: options.charsetNumber || Charsets.UTF8_GENERAL_CI
6
7;
8
9改为
10
11this.charsetNumber = (options.charset)
12
13? ConnectionConfig.getCharsetNumber(options.charset)
14
15: options.charsetNumber || Charsets.UTF8MB4_UNICODE_CI;
16
修改完毕,直接重启nodejs即可生效。