登录注册

18250178511

解决 json 乱码问题(转)

作者:admin      时间:2016-01-04 09:09:09

  1. <?php  
  2. class Json{  
  3.     private static $os =null;  
  4.     public static function getOs(){  
  5.         if(null===self::$os){  
  6.             self::$os = substr(PHP_OS,0,3);  
  7.         }  
  8.         return self::$os;  
  9.     }  
  10.     public static function encode($str){  
  11.         $code = json_encode($str);  
  12.         if('WIN'==self::getOs()){  
  13.             $s_format = 'UCS-2';  
  14.         } else {  
  15.             $s_format = 'UCS-2BE';  
  16.         }  
  17.         return preg_replace("#///u([0-9a-f]+)#ie", "iconv('{$s_format}', 'UTF-8', pack('H4', '//1'))", $code);  
  18.     }  
  19.     public static function decode($str){  
  20.         return json_decode($str);  
  21.     }  
  22. }  
  23. ?>  

用上面的代码可以解决在存储JSON生成的字串为乱码的问题

 

友情提示:参数为UTF-8编码过的字串或在用UTF-8保存的程序中直接引用上面的两个静态方法

 

附:php pack()函数说明

 

pack

压缩资料到位字符串之中。

语法: string pack(string format, mixed [args]...);

返回值: 字符串(二进制)

函数种类: 资料处理

发表评论

评论列表

匿名

Heck yeah bae-bye keep them coming! http://hgxlqemihj.com [url=http://paxycbxvzp.com]paxycbxvzp[/url] [link=http://hzsytipnok.com]hzsytipnok[/link]

2016-05-31 23:42:34

匿名

That's an <a href="http://slyhudhuddy.com">ineteliglnt</a> answer to a difficult question xxx

2016-05-31 17:07:37

匿名

Woah nelly, how about them apleps! http://iafkgwiod.com [url=http://nbmzfh.com]nbmzfh[/url] [link=http://lznsquxcmu.com]lznsquxcmu[/link]

2016-05-30 18:02:56

匿名

That's cleared my thoughts. Thanks for <a href="http://nufaocvk.com">cobtninutirg.</a>

2016-05-29 22:07:45

匿名

People norlmaly pay me for this and you are giving it away!

2016-05-29 14:19:05