Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:如何响应印地语的json编码_Php_Json_Hindi - Fatal编程技术网

PHP:如何响应印地语的json编码

PHP:如何响应印地语的json编码,php,json,hindi,Php,Json,Hindi,我正在使用翻译API,但这里有一个问题。我使用JSON作为响应,当我对印地语进行JSON_编码时,输出类似“\u092f\u0939\u0915\u093e\u0930\u0939\u0948” 我的代码如下 $data = array(); $data['hindi'] = 'यह कार है'; $data['english'] = 'This is car'; echo json_encode($data); die; 答案是 {"hindi":"\u092f\u0939 \u0915

我正在使用翻译API,但这里有一个问题。我使用JSON作为响应,当我对印地语进行JSON_编码时,输出类似“\u092f\u0939\u0915\u093e\u0930\u0939\u0948”

我的代码如下

$data = array();
$data['hindi'] = 'यह कार है';
$data['english'] = 'This is car';
echo json_encode($data); die;
答案是

{"hindi":"\u092f\u0939 \u0915\u093e\u0930 \u0939\u0948","english":"This is car"}

原因可能是这些字符不在UTF-8中(至少我找不到它们):

所有字符串数据必须采用UTF-8编码


这意味着它必须将其转换为字符的“描述”。别担心,如果你再次解码,它很可能是正确的

如果您运行的是PHP5.4或更高版本,则在调用
JSON\u encode

例如:

$data = array();
$data['hindi'] = 'यह कार है';
$data['english'] = 'This is car';
echo json_encode($data, JSON_UNESCAPED_UNICODE);
die;

这是正确的json,当您在浏览器中显示和/或解析它时,它将生成具有正确键和值的对象:

var json_string='{“印地语”:“\u092f\u0939\u0915\u093e\u0930\u0939\u0948”,“英语”:“这是汽车”},
json=json.parse(json_字符串);
//或直接:
var json2={“印地语”:“\u092f\u0939\u0915\u093e\u0930\u0939\u0948”,“英语”:“这是汽车”};
log(json_字符串);
log(json);
log(json2);
document.write(json_字符串);
文件。写(“
”); document.write(json.hindi); 文件。写(“
”);
书面文件(json2.hindi)我有一个解决这个问题的方法。这对我来说很好

$data = array();
$data['hindi'] = base64_encode('यह कार है');
$data['english'] = 'This is car';
$encoded_text=json_encode($data);
要检索数据的印地语部分,请执行以下操作:

$hindi=base64_decode(json_decode($encoded_text)->hindi);

但是,根据您希望在何处使用JSON,不转义字符可能会导致问题。如果他只在本地使用,只需再次解码json就会返回原始文本。好的,但现在响应不是json,而是只显示字符串