JSON文件中的变音字符呈现错误

时间:2017-11-15 23:14:29

标签: json azure configuration character-encoding

这件事在最后一小时一直困扰我,我有this exposed json file 应该如下所示:{ "bio": { "meettheguy": "Meet this guy", "occupation": "Musician", "bio": "Test with diacritical marks : ááçë;" } }

但是看起来像这样:{ "bio": { "meettheguy": "Meet this guy", "occupation": "Musician", "bio": "Test with diacritical marks : ����;" } }

这是一个托管在Azure服务器上的MVC应用程序,显然在JSON检索期间编码有问题。 此刻我无法弄明白,所以任何帮助或指向一些可能正确的方向都会受到高度赞赏。

谢谢

1 个答案:

答案 0 :(得分:1)

“在JSON检索期间”:相反,似乎问题在于存储或生成,而不是检索。

您的服务器说Content-Type:“application / json; charset = utf-8”,这对于JSON来说是很正常的。但是,字节不是UTF-8编码的文本。也许,它存储或生成不正确,导致发送错误的东西。

JSON应编码为UTF-8,UTF-16或UTF-32。 RFC7159

根据字节和预期包含“ááçë”的文本,以下编码是源可能被错误地保存为:

  • CP1250
  • CP1252
  • CP1254
  • CP1258
  • CP28591
  • CP28592
  • CP28593
  • CP28599
  • CP28605

因此,上游并修复任何导致JSON在其中一种编码中保存或生成的内容,选择适合JSON的编码并确保您的服务器说明它是什么。