header("Content-Type:text/html; charset=GB2312");//定义页面编码方式gb2312
echo urlencode("百度");//gb2312编码的
echo "
";//换行
echo urlencode(iconv('GB2312', 'UTF-8', '百度'));//utf-8编码的
echo "
";
echo urlencode("百度");//还是gb2312编码的
?>
规定好,页面编码后,页面编码就是统一不会再改变。
iconv 、mb_convert_encoding 这些函数改变的只是传入那一个字符串的编码。
而不是页面编码,别搞混了。
header("Content-Type:text/html; charset=GB2312");
才是规定页面编码的代码。
urlencode是在URL传参时如果直接传中文可能会出问题(对中文参数支持部完善),所以先编码。输出的时候用UrlDecode解码就可以了。如果你要输出的不是URL没必要用urlencode。