【问题标题】:PHP JSON Special CharactersPHP JSON 特殊字符
【发布时间】:2015-12-22 11:50:32
【问题描述】:

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

Alt�n Portakal Film Festivali sonu�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);

【问题讨论】:

标签: php json encoding


【解决方案1】:

将您的代码更改为:

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 标头将使浏览器识别此设置的任何特殊字符。

【讨论】:

  • 我们添加到循环中了吗?
  • 我已对其进行了编辑,以便您了解放置位置。
  • 请在代码上显示好吗?我不明白
  • 抱歉,有改进
  • @CharlieHarding,200 实际上是它的默认值。这不是必需的。但它是http_response_code,200 表示“OK”,因为该页面没有任何问题。例如,404 表示未找到。
【解决方案2】:

这个结果是什么?

<?php
header('Content-Type: text/html');
echo(json_encode($JSON, JSON_UNESCAPED_UNICODE)); 

JSON_UNESCAPED_UNICODE

按字面意思编码多字节 Unicode 字符(默认转义为 \uXXXX)。自 PHP 5.4.0 起可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    相关资源
    最近更新 更多