如何使用node-tds从uniqueidentifier字段返回字符串?

时间:2012-08-17 04:09:50

标签: node.js sql-server-2008-r2

我正在使用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});

1 个答案:

答案 0 :(得分:1)

你可能有一些字符编码不匹配。尝试将id转换为SQL本身的字符串;这应该强制正确的编码。