Node.js 节点mysql中的编码

Node.js 节点mysql中的编码,node.js,node-mysql,Node.js,Node Mysql,我刚刚开始使用node.js和node mysql,遇到了以下问题: 我从客户端(Angular.js)发送数据。服务器(node.js)正在将其发送到mysql数据库。 Server.js(部分): 问题是,如果我在请求字段title和text中发送拉丁字母,就可以了。但是,如果我尝试发送西里尔语,会出现以下问题: app.put('/api/announcements', function(req, res) { console.log(req.body.title, req.bod

我刚刚开始使用node.js和node mysql,遇到了以下问题: 我从客户端(Angular.js)发送数据。服务器(node.js)正在将其发送到mysql数据库。 Server.js(部分):

问题是,如果我在请求字段
title
text
中发送拉丁字母,就可以了。但是,如果我尝试发送西里尔语,会出现以下问题:

app.put('/api/announcements', function(req, res) {
    console.log(req.body.title, req.body.text); // <- shows the whole strings
    ...
app.put('/api/announcements',函数(req,res){

console.log(req.body.title,req.body.text);//我发现只有使用
connection.execute()
connection.query()
时才会出现此错误。我还没有找出这种行为的原因,但区别在于:

如果我使用

connection.query('INSERT INTO announcements VALUES("Расти борода, расти")');
Query.toPacket(/node\u modules/mysql2/lib/packets/Query.js)返回

Execute.toPacket(/node\u modules/mysql2/lib/packets/Execute.js)返回

{
sequenceId:0,
缓冲区:,
抵销:38,
起点:0,
完:54
}

你的帖子不够清晰,无法理解你的意思;有错误吗?我不懂俄语,那是俄语错了吗?其次,值得一提的是,停止使用mysq特定的库,改用类似“sequelize”的库,这样你就不会发出“sql查询”但只需要求写入和读取模型粘附记录。是的,有一个错误,因为只有一半的字符串正在写入数据库。至于sequelize,感谢您的建议,我将尝试它。但有一件事困扰着我:我可能错了,但它不是使用节点mysql模块吗?如果是,可能也有相同的问题。不同之处在于您可以调用sequelize;您不告诉它执行SQL语句,您只需操作对象中的记录,sequelize负责确保您的SQL后端得到相应的更新。关于错误:您可以显示您期望看到的内容、您看到的内容以及SQL表中的数据是什么样子的吗?当然,我提供了screensho来自命令行和phpMyAdmin的ts。我希望在我的表中看到以下字符串:“ПППППжжыбжажжыажжжыа”,而我看到的是:“ПППжППППжП107
connection.query('INSERT INTO announcements VALUES("Расти борода, расти")');
{
    sequenceId: 0,
    buffer: <Buffer 04 00 00 00 03 49 ...>,
    offset: 83,
    start: 0,
    end: 83
}
connection.execute('INSERT INTO announcements VALUES("Расти борода, расти")');
{
    sequenceId: 0,
    buffer: <Buffer 88 07 5d 01 17 02 ...>,
    offset: 38,
    start: 0,
    end: 54
}