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 '<pre>';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 汉字的主要内容,如果未能解决你的问题,请参考以下文章
对数组内容使用了json_encode返回汉字内容返回了空值
PHP 汉字数字互转(100以内)| PHP 汉字转数字 | PHP数字转汉字
java Httpserver 传递过来的json里面的汉字 接收到的每个汉字对应一个问号“?” 请问该如何解决这个问题