<?php
function   unescape($str)
{
      $str   =   rawurldecode($str);
      preg_match_all("/(?:%u.{4})|&#x.{4};|&#\d+;|.+/",$str,$r);
      $ar   =   $r[0];
      foreach($ar   as   $k=>$v)
      {
          if(substr($v,0,2)   ==   "%u"   &&   strlen($v)   ==   6)
          {
              $ar[$k]   =   iconv("UCS2","GBK",pack("H4",substr($v,-4)));
              if($ar[$k]===FALSE)
              {
                   echo "Convert False<br>";
              }
              else
                  echo "ok<br>";
          }
      }
      return   join("",$ar);
}echo unescape("%u82F9%u679C");
?>windows下正常显示汉字,linux下显示乱码 鱧
不知道是为什么?附linux下iconv信息
iconv
iconv support  enabled  
iconv implementation  glibc  
iconv library version  2.3.4  Directive Local Value Master Value 
iconv.input_encoding ISO-8859-1 ISO-8859-1 
iconv.internal_encoding ISO-8859-1 ISO-8859-1 
iconv.output_encoding ISO-8859-1 ISO-8859-1