设为首页收藏本站新闻投稿

MOD中国同盟社

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 480|回复: 0

[教程] 转换UCS2字符串到GBK字符串 [复制链接]

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

帖子
2836
精华
2
声望
12984 点
金币
2999 Mold
被赞许
28 次
注册时间
2006-4-28

Mod中国同盟社至高荣誉

发表于 2011-8-5 11:04:41 |显示全部楼层
  1.     <?php
  2.     $str = '\u5357\u4EAC\u5E02';

  3.     //转换单一字符到GBK汉字
  4.     function ucs2chr_to_gbkchr($chr)
  5.     {
  6.     if(preg_match("/^%u([0-9a-f]{4})$/i",$chr,$match))
  7.     {
  8.       $unicode = $match[1];
  9.       $hex_unicode = hexdec($unicode);
  10.       $hz_string = pack('n',$hex_unicode);
  11.       $chr = iconv('UCS-2','GBK',$hz_string);
  12.     }
  13.     return $chr;
  14.     }

  15.     //转换UCS2字符串到GBK字符串

  16.     function htmlucs2_to_gbk($string)
  17.     {
  18.     if(preg_match_all("/%u([0-9a-f]{4})/i",$string,$match))
  19.     {
  20.       $replace = array ();
  21.       foreach($match[0] as $item)
  22.       {
  23.        $replace[] = ucs2chr_to_gbkchr ($item);
  24.       }
  25.       $string = str_replace($match[0],$replace,$string);
  26.     }
  27.     return $string;
  28.     }
  29.     echo htmlucs2_to_gbk(str_replace('\\', '%', $str));

  30.     ?>
复制代码


使用道具 举报

您需要登录后才可以回帖 登录 | 注册

回顶部