前些时间,在用rawurlencode转换字符串,发现在页面编码GB2312和页面编码UTF-8之下运行的结果是不同的。
<?
php
echo rawurlencode ( " 中国 " );
?>
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 " , " 中国 " ));
?>
echo rawurlencode ( iconv ( " UTF-8 " , " GB2312//IGNORE " , " 中国 " ));
?>