我在PHP中进行url传参,出现接受页面出现了下面奇怪的问题,如:
page.php?keyword=经 (会有乱码)
page.php?keywrod=经理 (正常)
page.php?keyword=经理岗 (会有乱码)
page.php?keyword=经理岗位 (正常) 这是怎么回事啊,搞了好久都没弄出来,真郁闷啊,请大侠们帮帮忙啊,本人现急用啊,
page.php?keyword=经 (会有乱码)
page.php?keywrod=经理 (正常)
page.php?keyword=经理岗 (会有乱码)
page.php?keyword=经理岗位 (正常) 这是怎么回事啊,搞了好久都没弄出来,真郁闷啊,请大侠们帮帮忙啊,本人现急用啊,
$url = "page.php?keyword=".urlencode($keyword);
(PHP 3, PHP 4, PHP 5)urlencode -- 编码 URL 字符串
描述
string urlencode ( string str )
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 RFC1738 编码(参见 rawurlencode())不同。此函数便于将字符串编码并将其用于 URL 的请求部分,同时它还便于将变量传递给下一页:
地址栏是以gb2312提交的
如果php文件是utf8就会出现乱码
除了楼上方法,也可以把php文件改成gb2312
需要的朋友,可以直接联系我
QQ 908267931 张先生
MSN:[email protected]
邮箱:[email protected]
我记得这个加密解密的函数在discuz的程序里边有,你可以找找看
1,用editplus新建php文件,保存的时候文件编码一定要选择utf8
2,该php的文件头也要设置为utf8,即
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
这样在地址栏传参数的时候就可以是中文不乱码了.