我想在我的php代码中输出一个utf8 json对象:
<?php
header('Content-type: text/html; charset=utf-8');
header('Content-Type: application/json');
$response= array();
$product = array();
$product["title"]="عنوان";
$product["nim_body"]="بدنه";
$product["writer"]="نویسنده";
array_push($response,$product);
echo json_encode($response,JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
我的输出就像图片:
答案 0 :(得分:2)
使用JSON_UNESCAPED_UNICODE
flag。
JSON_UNESCAPED_UNICODE (整数) 从字面上对多字节Unicode字符进行编码(默认为以\ uXXXX转义)。从PHP 5.4.0开始提供。
除非您打印到文件中,否则没有充分的理由可以打印json对象。如果出于可读性原因需要,请改用browser extension。
再说一遍;在使用JSON对象进行响应时,仅输出有效对象是不够的。您还需要设置内容类型标题; Content-Type: application/json
。你要两次这样做;一次到text/html
然后到application/json
。放下前者。