服务器的PHP装到是utf-8编码的,我是虚拟主机
test.php的代码如下:
<?php
header("content-Type: text/html; charset=utf-8");
echo iconv("GB2312","UTF-8",$_GET['wd']);
?>
test.php?wd=%B2%E2%CA%D4 传递值为 GB2312 乱码
test.php?wd=%E6%B5%8B%E8%AF%95 传递值为utf-8可以显示正常
怎么让当传递参数编码为gb2312的传递值 test.php?wd=%B2%E2%CA%D4&ie=gb2312 这样也能正常显示(&ie=gb2312)这样。
第1个回答 2011-11-16
echo urlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.+
echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
echo rawurlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.%20
echo rawurldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
也就是编码和解码是一样的函数
echo urldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
echo rawurlencode("中文-_. ")."\n"; //%D6%D0%CE%C4-_.%20
echo rawurldecode("%D6%D0%CE%C4-_. ")."\n"; //中文-_.
也就是编码和解码是一样的函数
第2个回答 2011-11-16
urldecode()可以转这种格式的编码但是解出来不是地图
可能“地图”进过某种运算然后进行编码了
可能“地图”进过某种运算然后进行编码了
第3个回答 2011-11-16
这个是中文编码,rawurlencode函数是还原,urlencode是编码!本回答被提问者采纳
第4个回答 2011-11-16
urldecode函数