PHP中 rawurlencode() 将字符串编码成URL专用格式时与页面编码的关系

前些时间,在用rawurlencode转换字符串,发现在页面编码GB2312和页面编码UTF-8之下运行的结果是不同的。

 

<? php
   
echo   rawurlencode ( " 中国 " );
?>

 


在GB2312编码下的页面运行结果为:%D6%D0%B9%FA
在UTF-8编码下的页面运行结果为:%E4%B8%AD%E5%9B%BD

后来查询到可以采用iconv先转换。比如,若想在UTF-8编码页面与行到与GB2312编码页面下的结果一样的话,可以这样子:

<? php
    
echo   rawurlencode ( iconv ( " UTF-8 " , " GB2312//IGNORE " , " 中国 " ));
?>

 

 

你可能感兴趣的:(encode)