这件事在最后一小时一直困扰我,我有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检索期间编码有问题。 此刻我无法弄明白,所以任何帮助或指向一些可能正确的方向都会受到高度赞赏。
谢谢
答案 0 :(得分:1)
“在JSON检索期间”:相反,似乎问题在于存储或生成,而不是检索。
您的服务器说Content-Type:“application / json; charset = utf-8”,这对于JSON来说是很正常的。但是,字节不是UTF-8编码的文本。也许,它存储或生成不正确,导致发送错误的东西。
JSON应编码为UTF-8,UTF-16或UTF-32。 RFC7159
根据字节和预期包含“ááçë”的文本,以下编码是源可能被错误地保存为:
因此,上游并修复任何导致JSON在其中一种编码中保存或生成的内容,选择适合JSON的编码并确保您的服务器说明它是什么。