PHP JSON特殊字符

时间:2015-12-22 11:50:33

标签: php json encoding

我的手json类型应该返回一些结果。但由于特殊字符,我无法输出。 内容数组中的示例数据:

  

Alt�nPortakalFilmFestivalisonu�land�。

(问题:

$JSON["today"]=array();
for ($i=0; $i < count($olay_tarih); $i++) { 
    $gelen["date"] = array();
    $gelen["content"]=array();
    array_push($gelen["date"], $olay_date[$i]);
    array_push($gelen["content"], $olay_content[$i]);
    array_push($JSON["today"], $gelen);
}
echo json_encode($JSON);

2 个答案:

答案 0 :(得分:12)

将您的代码更改为:

header('Content-Type: application/json; charset=utf-8', true,200);
$JSON["today"]=array();

for ($i=0; $i < count($olay_tarih); $i++) { 
$gelen["date"]=array();
$gelen["content"]=array();
array_push($gelen["date"], $olay_date[$i]);
array_push($gelen["content"], $olay_content[$i]);
array_push($JSON["today"], $gelen);
}
$JSON = array_map('utf8_encode', $JSON);
echo json_encode($JSON);

添加UTF-8标题会使浏览器识别此设置的任何特殊字符。

答案 1 :(得分:3)

这是什么输出?

<?php
header('Content-type: text/html; charset=utf-8');
echo(json_encode($JSON, JSON_UNESCAPED_UNICODE)); 
  

<强> JSON_UNESCAPED_UNICODE

从字面上对多字节Unicode字符进行编码(默认为以\uXXXX转义)。从PHP 5.4.0开始提供。