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”,”中国”));
 ?>

你可能感兴趣的:(PHP中rawurlencode将字符串编码成URL专用格式时与页面编码的关系)