Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使用节点tds从uniqueidentifier字段返回字符串?_Node.js_Sql Server 2008 R2 - Fatal编程技术网

Node.js 如何使用节点tds从uniqueidentifier字段返回字符串?

Node.js 如何使用节点tds从uniqueidentifier字段返回字符串?,node.js,sql-server-2008-r2,Node.js,Sql Server 2008 R2,我正在使用nodejs+NodeTDS连接到SQLServer2008R2 express数据库。我正在检索一个具有唯一标识符的对象,并将整个对象作为json返回 我可以很好地检索该行,但当我尝试序列化对json的响应时,结果很奇怪: { "Id": "�<�E�ԃM��\u0000ؚ��J", "RealName": "Zachary Yates" } 您可能有一些字符编码不匹配。尝试将id强制转换为SQL本身中的字符串;这应该强制进行正确的编码。表中id列的声明类型是什么?如

我正在使用nodejs+NodeTDS连接到SQLServer2008R2 express数据库。我正在检索一个具有唯一标识符的对象,并将整个对象作为json返回

我可以很好地检索该行,但当我尝试序列化对json的响应时,结果很奇怪:

{
  "Id": "�<�E�ԃM��\u0000ؚ��J",
  "RealName": "Zachary Yates"
}

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

表中
id
列的声明类型是什么?如果将其转换为SQL中的字符串,会发生什么情况?@ebohlman这样做,抛出一个答案&我接受它
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});