请看下面的代码,"朱镕基"用urlencode()编码再解码后成了“朱基”?!
这是什么问题啊,好像urlencode()不能识别一些生僻的汉字,自动去除了?
有没有什么别好的解决办法啊?<?php$strName = "朱镕基";echo $strName;$strName = iconv( "UTF-8", "gb2312//IGNORE",$strName);
$strName = urlencode($strName);
$strName = urldecode($strName);
$strName = iconv( "gb2312//IGNORE","UTF-8", $strName);echo '-->'.$strName;?>

解决方案 »

  1.   

    去掉$strName = iconv( "UTF-8", "gb2312//IGNORE",$strName); 
    不转码,结果是正确的,怎么结合在一起就出问题呢?
      

  2.   

    这是你设置iconv编码的问题,用gbk
      

  3.   

    gb2312//IGNORE这是什么格式的字体你在 编码转化的时候  ‘基’字已经没有了并不是  urlencode 的问题
      

  4.   


    已经解决,用gbk可以,多谢!
    为什么用GB2312不行啊?
      

  5.   

    就是这个原因,实际上严格的gb2312所含的字很少,所以后来出了一个gb18030包含了更多字符,这里用gb18030也是可以的,当然还是推荐用utf-8/gbk了,你本身都utf8了,怎么还想着用gb。。