Azure cosmosdb 如何使用Graph API在Azure Cosmos DB中正确编码字符

Azure cosmosdb 如何使用Graph API在Azure Cosmos DB中正确编码字符,azure-cosmosdb,gremlin,Azure Cosmosdb,Gremlin,我在Azure Cosmos DB graph中存储数据时遇到了一些字符编码问题 例如,如果我执行如下查询以添加名为Stéphane的新顶点: g.addV('test-encoding').property('id','some id').property('name','Stéphane') 它在Azure门户的数据浏览器中显示为StéPhine。如果我试图从Gremlin命令行查询顶点,那么返回的名称值也不正确 所以我似乎对COSMOSDB中的数据编码有问题 在另一个例子中,有人建议在

我在Azure Cosmos DB graph中存储数据时遇到了一些字符编码问题

例如,如果我执行如下查询以添加名为Stéphane的新顶点:

g.addV('test-encoding').property('id','some id').property('name','Stéphane')
它在Azure门户的数据浏览器中显示为StéPhine。如果我试图从Gremlin命令行查询顶点,那么返回的名称值也不正确

所以我似乎对COSMOSDB中的数据编码有问题

在另一个例子中,有人建议在创建顶点之前对数据进行Url编码,然后在需要读取数据时对其进行Url解码


但是,这感觉很麻烦,我想知道是否还有其他方法可以用正确的编码来存储字符串?

您的查询是正确的。属性值实际上正确地保存在CosmosDB中(使用正确的重音)

这是门户数据资源管理器中的一个呈现错误:在查询CosmosDB时,如果响应包含这两个字节的utf-8字符,Data Explorer将在Data Explorer的Graph UI选项卡和JSON选项卡中显示两个而不是一个不同的字符,则Data Explorer无法正确解码响应。 数据资源管理器的下一次部署中将出现修复程序


如果您使用的是CosmosDB SDK或gremlin控制台,您可以直接查询图形并验证“Stéphane”是否正确存储。

谢谢。我应该在使用CosmosDB SDK进行查询时检查该值-正如您所说,它在那里是正确的。我有一个类似的问题。如果您仅在azure portal中看到此行为,请参阅下面的答案。虽然gremlin控制台对我也不起作用,但在我的C#代码中,口音对我起作用。