PHP从mysql获取数据后,录入数组并转为json。
最后输出的时候,中文显示为”?”。
这个问题是出在服务器还是php?
在数据库里看,中文是能正常显示的。
PHP代码:
<code> $result = mysql_query("select * from hpsubject"); while ($row = mysql_fetch_array($result)) { $arr = json_encode(array('hps_userid'=>$row['hps_userid'], $row['hps_userid2'], $row['hps_subid'], $row['hps_type'], $row['hps_addr'], $row['hps_distance'], $row['hps_title'], $row['hps_feel'], $row['hps_dowhat'], $row['hps_text'], $row['hps_img'], $row['hps_like'], $row['hps_repost'], $row['hps_comment'], $row['hps_date'], $row['hps_time'], $row['hps_liveline'], $row['hps_deadline'])); echo $arr; }</code>
输出结果:
{“hps_userid”:”1″,”0″:”1″,”1″:”1″,”2″:”????”,”3″:”??”,”4″:”50″,”5″:”??”,”6″:”??”,”7″:”????”,”8″:”??”,”9″:”??”,”10″:”100″,”11″:”100″,”12″:”100″,”13″:”2015-09-21″,”14″:”154436″,”15″:”2015-09-21 15:44:36″,”16″:”2015-09-21 15:44:36″}
回复内容:
PHP从mysql获取数据后,录入数组并转为json。
最后输出的时候,中文显示为”?”。
这个问题是出在服务器还是php?
在数据库里看,中文是能正常显示的。
PHP代码:
<code> $result = mysql_query("select * from hpsubject"); while ($row = mysql_fetch_array($result)) { $arr = json_encode(array('hps_userid'=>$row['hps_userid'], $row['hps_userid2'], $row['hps_subid'], $row['hps_type'], $row['hps_addr'], $row['hps_distance'], $row['hps_title'], $row['hps_feel'], $row['hps_dowhat'], $row['hps_text'], $row['hps_img'], $row['hps_like'], $row['hps_repost'], $row['hps_comment'], $row['hps_date'], $row['hps_time'], $row['hps_liveline'], $row['hps_deadline'])); echo $arr; }</code>
输出结果:
{“hps_userid”:”1″,”0″:”1″,”1″:”1″,”2″:”????”,”3″:”??”,”4″:”50″,”5″:”??”,”6″:”??”,”7″:”????”,”8″:”??”,”9″:”??”,”10″:”100″,”11″:”100″,”12″:”100″,”13″:”2015-09-21″,”14″:”154436″,”15″:”2015-09-21 15:44:36″,”16″:”2015-09-21 15:44:36″}
<code class="php">if (function_exists('mysql_set_charset') === false) { mysql_query("SET NAMES 'utf8'", $con);}else{ mysql_set_charset('utf8', $con);}</code>
$con
对应 mysql_connect
函数的返回值, 上面的 utf8
改为你数据库的编码(上面的代码放在你执行mysql_query("select * from hpsubjec
。本文来源gao!%daima.com搞$代*!码网1
搞代gaodaima码t")之前.
然后在你的php
文件头部增加一行header('Content-Type: application/json; charset=utf-8');
其中这里的 utf-8
也改为你数据库中所使用的编码.