我正在运行一个 node.js 脚本,该脚本从公共“数据库”(它是一个“区块链”)中提取数据,然后对其执行一些操作,然后将其插入到 MySQL 数据库中。我已经使用 MySQL 数据库UTF8_general_ci
编码。绝大多数数据都可以很好地解析,但有时它会遇到无法插入的内容。我收到此错误:
code: 'ER_TRUNCATED_WRONG_VALUE_FOR_FIELD',
errno: 1366,
sqlMessage: 'Incorrect string value: \'\\xF0\\x9F\\x8D\\x95 N...\' for column \'body\' at row 1',
sqlState: 'HY000',
index: 0,
它显示了似乎导致错误的字符串位,并且它始终具有这个独特的问号字符:
This looks like Paradise for me! ����\
我猜这是一个编码问题?有没有办法可以在抛出错误之前转换它们?我不确定这个区块链使用什么编码,我什至不知道如何找到答案。
编辑:这是该区块链的网络界面上显示的另一个示例(错误):
非常欢迎您!????????????????????????
另一个编辑:我应该指出我正在使用mysql.format(sql, inserts)
处理数据的无意 SQL 问题 -https://github.com/mysqljs/mysql#preparing-queries https://github.com/mysqljs/mysql#preparing-queries