Swift Php Json 汉字

Posted

技术标签:

【中文标题】Swift Php Json 汉字【英文标题】:Swift Php Json Chinese Character 【发布时间】:2015-02-23 10:35:02 【问题描述】:

我的数据库中有英文和中文字符,但是当我在 JSON 中检索时,中文字符不起作用。结果是“?”。任何人都可以帮助我吗?

<?php

header('Content-Type: text/html; charset=utf-8');
/* include db.config.php */
include_once("config.php");
// Get user id
$id = isset($_GET['username']) ? mysql_real_escape_string($_GET['username']) : “”;

if(empty($id))
    $data = array ("result" => 0, "message" => 'Wrong user id');
 else 
// get user data
$sql = mysql_query("SELECT username, gender, location, birthday, mobilephone, signature FROM users WHERE username='$id'");

$data = array ();

 while ($row = mysql_fetch_array($sql, MYSQL_ASSOC)) 
        $row_array['username'] = $row['username'];
        $row_array['gender'] = $row['gender'];
        $row_array['location'] = $row['location'];
        $row_array['birthday'] = $row['birthday'];
        $row_array['mobilephone'] = $row['mobilephone'];
        $row_array['signature'] = $row['signature'];
        //push the values in the array
        array_push($data,$row_array);
 
 echo json_encode($data);

mysql_close($conn);
/* JSON Response */

?>

【问题讨论】:

【参考方案1】:

确保您的表格字段排序规则设置为 utf8-general-ci。打开你的表 - >结构 - >在这里检查它。如果不是,请编辑该字段并更改它。现在添加新条目并检查。

【讨论】:

我的表设置为 utf8-general-ci。在我的表格中,我可以看到中文字符的数据,但是当我使用我的 PHP API 将其更改为 JSON 时,我的 JSON 结果不是 UTF8 格式。我认为问题出在 PHP 代码中 echo '&lt;pre&gt;';print_r($data); 放在echo json_encode($data); 之前并检查输出。它是否也返回问号? 试试这个 echo json_encode($data, JSON_UNESCAPED_UNICODE); 我尝试添加 'echo json_encode($data, JSON_UNESCAPED_UNICODE);'但我收到以下错误“警告:json_encode() 预计参数 2 很长,第 28 行 /home/paipai58/www/www/app/data/jsonpersodata.php 中给出的字符串” 你的 PHP 版本是多少?还要确保变量 $data 返回数组值而不是空的。

以上是关于Swift Php Json 汉字的主要内容,如果未能解决你的问题,请参考以下文章

PHP json_encode 不转义中文汉字的方法

json_encode如何防止汉字转义成unicode

对数组内容使用了json_encode返回汉字内容返回了空值

Swift 限制输入只能是数字或者中文、汉字

PHP 汉字数字互转(100以内)| PHP 汉字转数字 | PHP数字转汉字

java Httpserver 传递过来的json里面的汉字 接收到的每个汉字对应一个问号“?” 请问该如何解决这个问题