前些时间,在用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","中国"));
?>