我正在使用nodejs + node-tds连接到SqlServer 2008r2 express数据库。我正在检索一个带有uniqueidentifier的对象,并将整个对象作为json返回。
我可以很好地检索该行,但是当我尝试将响应序列化为json时,它会变得很时髦:
{
"Id": "�<�E�ԃM��\u0000ؚ��J",
"RealName": "Zachary Yates"
}
这是我正在使用的代码:
var q = conn.createStatement("select u.Id, u.RealName from [User] u where u.Id = @id;",
{
id: { type: "uniqueidentifier" }
});
q.on("row", function(row)
{
var user =
{
Id: row.getValue("Id").toString()
, RealName: row.getValue("RealName")
};
res.json(user);
});
q.execute({id: uid});
答案 0 :(得分:1)
你可能有一些字符编码不匹配。尝试将id
转换为SQL本身的字符串;这应该强制正确的编码。