JavaScript编码&;解码错误

JavaScript编码&;解码错误,javascript,encoding,utf-8,decoding,Javascript,Encoding,Utf 8,Decoding,我在Javascript编码和解码方面遇到了问题。我有一个json对象,它包含一个用UTF-8编码的字符串,比如'R\xc3\xa9union'。为了确保Javascript文件正确显示字符串,我在脚本标记中添加了一个属性字符集。json对象位于countries.js中。我将countries.js包含为,但它仍然显示为Réunion,而不是Réunion。有什么建议吗?结合使用: 这应该可以做到: escape('R\xc3\xa9union'); // "R%C3%A

我在Javascript编码和解码方面遇到了问题。我有一个json对象,它包含一个用UTF-8编码的字符串,比如
'R\xc3\xa9union'
。为了确保Javascript文件正确显示字符串,我在脚本标记中添加了一个属性字符集。json对象位于
countries.js
中。我将countries.js包含为
,但它仍然显示为Réunion,而不是Réunion。有什么建议吗?

结合使用:

这应该可以做到:

escape('R\xc3\xa9union');           // "R%C3%A9union"
decodeURIComponent("R%C3%A9union"); // "Réunion"
现在,您说您不能在所有需要JSON字符串的地方手动执行此操作。我真的不知道如何在不使用JS重新构建JSON的情况下实现自动化,因此我建议编写一个小的“包装器”函数来动态解码:

function dc(str){
    return decodeURIComponent(escape(str));
}
然后,您可以以最小的工作量解码所需的字符串:

var myString = dc(myJson["some"]["value"]);

现在,还有什么可以工作,但风险更大一点:整个对象,使用2个函数解码,然后再次解码。

您是否也向HTML文档添加编码?是的,我添加了这个:您可以包含JSFIDLE吗?这可能是服务器发送数据的问题。不幸的是,我有太多的依赖项。这肯定会起作用,但我在加载位置时使用json字符串,我无法手动执行it@Noor:据我所知,没有“自动”方式让JavaScript知道如何解释这些字符串。我补充了一点关于如何实现半自动化的建议。
var myString = dc(myJson["some"]["value"]);