json格式显示discuz数据库,中文内容显示为null的处理


    显示中文内容时,浏览器仅接受到null。实际内容为:


    原始php内容为:

<?php 
	header('Content-type:text/json;charset=utf-8');
	define('APPTYPEID', 5);
	define('CURSCRIPT', 'userapp');
	require_once './source/class/class_core.php';
	$discuz = &discuz_core::instance();
	$discuz -> cachelist = $cachelist;
	$discuz -> init();

	$query = DB::query("SELECT * FROM " . DB::table('gtmj') . " WHERE 1 ORDER BY ID ASC limit 10");
	while($data = DB::fetch($query)){
		$list[] = array(
			'GJ' => $data['GJ'],
			'MJ' => $data['MJ']
		);
	}

	echo json_encode($list); 

?>


    浏览器结果:

[{"GJ":null,"MJ":"1707"},{"GJ":null,"MJ":"997"},{"GJ":null,"MJ":"960"},{"GJ":null,"MJ":"936"},{"GJ":null,"MJ":"854"},{"GJ":null,"MJ":"774"},{"GJ":null,"MJ":"328"},{"GJ":null,"MJ":"278"},{"GJ":null,"MJ":"271"}]


    修改后的php:

<?php 
	header('Content-type:text/json;charset=utf-8');
	define('APPTYPEID', 5);
	define('CURSCRIPT', 'userapp');
	require_once './source/class/class_core.php';
	$discuz = &discuz_core::instance();
	$discuz -> cachelist = $cachelist;
	$discuz -> init();

	$query = DB::query("SELECT * FROM " . DB::table('gtmj') . " WHERE 1 ORDER BY ID ASC limit 10");
	while($data = DB::fetch($query)){
		$list[] = array(
			'GJ' => urlencode($data['GJ']),
			'MJ' => $data['MJ']
		);
	}

	echo urldecode(json_encode( $list ) ); 
?>


    浏览器返回正确结果:

[{"GJ":"俄罗斯","MJ":"1707"},{"GJ":"加拿大","MJ":"997"},{"GJ":"中国","MJ":"960"},{"GJ":"美国","MJ":"936"},{"GJ":"巴西","MJ":"854"},{"GJ":"澳大利亚","MJ":"774"},{"GJ":"印度","MJ":"328"},{"GJ":"阿根廷","MJ":"278"},{"GJ":"哈萨克斯坦","MJ":"271"}]




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值