Node.js 如何使用节点tds从uniqueidentifier字段返回字符串?
我正在使用nodejs+NodeTDS连接到SQLServer2008R2 express数据库。我正在检索一个具有唯一标识符的对象,并将整个对象作为json返回 我可以很好地检索该行,但当我尝试序列化对json的响应时,结果很奇怪: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列的声明类型是什么?如
{
"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});