韦德国际1946英国 > 计算机网络 > json_encode中文乱码解决方法,gb2312中文乱码问题

原标题:json_encode中文乱码解决方法,gb2312中文乱码问题

浏览次数:195 时间:2019-06-22

  1. <?php  
  2.     $testJSON=array('name'=>'中文字符串','value'=>'test');  
  3.     //echo json_encode($testJSON);  
  4.     foreach ( $testJSON as $key => $value ) {  
  5.         $testJSON[$key] = urlencode ( $value );  
  6.     }  
  7.     echo urldecode ( json_encode ( $testJSON ) );  
  8. ?>  

例,利用另一种方法来化解

 代码如下

 后台PHP页面(页面编码为UTF-8要么已经把字符转为UTF-8)使用json_encode将PHP中的array数组转为JSON字符串。比如:

<?php
    $testJSON=array('name'=>'中文字符串','value'=>'www.111cn.net'');
    //echo json_encode($testJSON);
    foreach ( $testJSON as $key => $value ) {
  $testJSON[$key] = urlencode ( $value );
    }
88必发在线娱乐 ,    echo urldecode ( json_encode ( $testJSON ) );
?>

$arr = array ( 

{“name”:”粤语字符串”,”value”:”test”}
到此,成功地出口了粤语字符。随便使用json_encode吧。那标准在PHP后台出口的JSON字符串在前台javascript中Ajax接收后eval出来也不会并发普通话乱码,因为js在管理JSON格式数据是也是以UTF8的样式开展的,与PHP类似,故接收PHP页面的JSON字符串不会油然则生难点。

查阅输出结果为:
{“name”:”u4e2du6587u5b57u7b26u4e32″,”value”:”test”}

<?php
$data=”JSON中文”;
$newData=iconv(“GB2312″,”UTF-8//IGNORE”,$data);
echo $newData;
//ignore的意味是忽视调换时的荒谬,要是未有ignore参数,全体该字符前边的字符都不会被封存。
//或是(“GB2312″,”UTF-8″,$data);
?>

 

<?php
  $testJSON=array('name'=>'普通话字符串','value'=>'test');
  echo json_encode($testJSON);
?>

足见即利用UTF8编码的字符,使用json_encode也现身了华语乱码。消除办法是在应用json_encode此前把字符用函数urlencode()管理一下,然后再json_encode,输出结果的时候在用函数urldecode()转回来。具体如下:

 

 代码如下

  array ( 

翻看输出结果为:

 代码如下

      'catname' => 'www.111cn.net', 

保障在使用JSON管理的时候字符是以UTF8编码的。具体大家得以把数据库编码和页面编码都改为UTF8。当然喜欢用gbk编码的话,能够在举办JSON管理前,把字符转为UTF8情势。在PHP中有如下方法:

到此,成功地出口了汉语字符

<?php
$testJSON=array(‘name’=>’汉语字符串’,’value’=>’test’);
//echo json_encode($testJSON);
foreach ( $testJSON as $key => $value ) {
$testJSON[$key] = urlencode ( $value );
}
echo urldecode ( json_json_encode中文乱码解决方法,gb2312中文乱码问题。encode ( $testJSON ) );
?>

 

后台PHP页面(页面编码为UTF-8要么已经把字符转为UTF-8)使用json_encode将PHP中的array数组转为JSON字符串。举个例子:

总结:json_encode函数只好管理uft8字符串,假如是中文猜度是对字节管理不好,因为中文gbk与uft长度是不平等的啊,这么些我也不深切介绍了。

本文由韦德国际1946英国发布于计算机网络,转载请注明出处:json_encode中文乱码解决方法,gb2312中文乱码问题

关键词: bv1946韦德娱乐

上一篇:类选择符,Bootstrap中的字体图标

下一篇:没有了