【问题标题】:Swift Php Json Chinese CharacterSwift Php Json 汉字
【发布时间】: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 */
}
?>

【问题讨论】:

    标签: php json swift


    【解决方案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 返回数组值而不是空的。
    猜你喜欢
    • 2011-12-23
    • 2011-01-15
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多