如何在php文件中使用utf-8和json

时间:2017-01-09 21:15:25

标签: php json utf-8

我想在我的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);

我的输出就像图片:

1 个答案:

答案 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。放下前者。