如何在jquery中解析utf-8 json

moh*_*ani 6 javascript php jquery json utf8-decode

我在php文件中编码了波斯语名称.在编码之前,它显示正确,编码后转换为utf-8字符.我在Java Script(jQuery)中通过Ajax接收它.

sample.php:

json_encode('??? ???????? ');

//after encode: "\u06a9\u0627\u0638\u0645\u06a9\u06cc"

Js:
JSON.parse(response)
// it is still in this form: \u06a9\u0627\u0638\u0645 \u06a9\u06cc
Run Code Online (Sandbox Code Playgroud)

我如何解析这个json,以便我能以原始形式获得它?

Pav*_*nar 1

这与UTF-8无关,而是与Unicode有关。区别在于:

var original = "\u06a9\u0627\u0638\u0645\u06a9\u06cc"
var encoded = "\\u06a9\\u0627\\u0638\\u0645\\u06a9\\u06cc"
Run Code Online (Sandbox Code Playgroud)

您必须将表示 Unicode 表示法的字符串转换回原始字符串。用这个:

var r = encoded.replace(/\\u(....)/gi, function(m,v){
    return String.fromCharCode(parseInt(v,16))
})
alert(r)
Run Code Online (Sandbox Code Playgroud)