nodejs下写入中文到mysql中报错

先用nodejs写了个小爬虫,爬了一点数据下来,然后想写到数据库中。
nodejs代码:

sql = "insert into " + table + " values ("+maxCol+", "+data[i].url+"', '"+data[i].name+"')";
connection.query(sql, function(err, results, fields){
    !err ? console.log("success!!!") : console.log(err);
});

写入数据库之后,在数据库中select * from table; 应该是中文的地方都是问号:

clipboard.png

数据库字符集如下:

clipboard.png

所以会不会是我的nodejs,或者是require进来的mysql模块的问题?求解!

阅读 5.2k
2 个回答

是mysql在终端输出的问题,你用node的mysql module去读数据就知道数据是否正常的了。
或者你调用mysql的时候指定字符集
mysql --default-character-set=utf8

表的排序规则,设定成utf-8 general ci 应该就不会乱码了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题