mysql是UTF8编码,json.php是UTF8编码,在数据库中,直接查询表,里面的中文都能正确显示。在php程序中,mysql_query("set names utf8");使用这个设置了编码。urldecode(json_encode($newData))这个是生成了JSON。但是中文不出来啊,结果如下:nutrition":"\u7c73\u996d\u7684\u4e3b\u8981\u6210\u5206\u662f\u78b3\u6c34\u5316\u5408\u7269\uff0c\u7c73\u996d\u4e2d\u7684\u86cb\u767d\u8d28\u4e3b\u8981\u662f\u7c73\u7cbe\u86cb\u767d\uff0c\u6c28\u57fa\u9178\u7684\u7ec4\u6210\u6bd4\u8f83\u5b8c\u5168\uff0c\u4eba\u4f53\u5bb9\u6613\u6d88\u5316\u5438\u6536\u3002\u7cd9\u7c73\u996d\u4e2d\u7684\u77ff\u7269\u8d28\u3001\u81b3\u98df\u7ea4\u7ef4\u3001B\u65cf\u7ef4\u751f\u7d20(\u7279\u522b\u662f\u7ef4\u751f\u7d20B1)\u542b\u91cf\u90fd\u8f83\u7cbe\u7c73\u7c73\u996d\u4e2d\u7684\u8981\u9ad8\u3002","consumption_effect":"\u5927\u7c73\u6027\u5e73\u3001"上面这个就是中文字符的结果。怎么解决?
解决方案 »
- 接:各位大侠们帮帮忙?????还是安装的问题,急!!!!!!!!!!!!!!!!!!!我会说的很详细,各位帮我看看吧. 不让我继续写了,
- 怎么解决这个问题“您看到这个错误页面是因为应用程序抛出了没有捕获的异常。”
- (问题已修改)根据不同注册用户,添加页面链接到数据库?
- 为啥整成GB2312就乱码呢
- 为什么浏览器上不会显示出来
- 建立目录的问题。能不能同时建几个目录?
- 如何将文本文件按照原本文件格式显示出来??
- 请问怎么分离得出ip里的前2(3)个ip段???……来不及琢磨正规表达式了~:(
- php的按装问题
- ajax怎么实现跨源请求
- 【貌似有挑战性】shell如何获取php中return的值
- 为什么我的本地环境不能解析子目录下的PHP文件
//建立数据库连接
$con = mysql_connect("localhost","ty5d","cYf5MeF4433FjdF");
if(!$con){die('数据库无法连接:'.mysql_error());}//选择数据库
mysql_select_db("newwsq1",$con);
//设置字符集
mysql_query("set names utf8");$typeid=$_REQUEST["typeid"];
$page=$_REQUEST["page"];//可以指定字段名称来生成JSON。不需要的JSON没有必要生成。
$query="select * from pre_tools_food LIMIT 0,20";//前二十条
$result=mysql_query( $query );//执行SQL语句//循环并将查询的数据存入数组
while($row=mysql_fetch_assoc($result)){
$response[]=$row;
}//使用Foreach遍历数组 同时使用urlencode处理 含有中文的字段
foreach($response as $key => $value){
$newData[$key]=$value;
}//echo "大家好";//显示正常
$myjson=json_encode($newData);
//$myjson=preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))", $myjson);
echo $myjson;mysql_close($con);//关闭数据库链接
?>以上就是代码,注释很清晰,需要的拿去。看来没办法直接显示中文了?那就这样吧,谢谢各位。