>백엔드 개발 >PHP 튜토리얼 >URL接收的参数乱码,但是本土是正常的

URL接收的参数乱码,但是本土是正常的

WBOY
WBOY원래의
2016-06-13 11:08:43895검색

URL接收的参数乱码,但是本地是正常的

本帖最后由 cg20 于 2012-10-14 22:54:57 编辑 http://localhost/xs7k/search/author-龙.html 就是正常的
这里有URL重写对应的为xs7k/search/index.php?type=$1&key=$2
本地获取key就是正常的,以前用bluehost的主要也是正常的

服务器上就不行了http://www.xs7k.com/search/author-龙.html,如这个。

今天换成国内的了iis的,能数只要是中文的就出错"??"显示成这个样子,请问有没有什么办法解决。

用$_REQUEST或$_GET都一样的。
------解决方案--------------------
$url="http://localhost/xs7k/search/".UrlEnCode('author-龙').".html";
先把中文编码一下再传$url这个变量试试.
如果urlencode这个编码不行的话你就用Base64_Encode编码,,不过用Base64_Encode的话需要用对应的解码函数解码一下才行.UrlEnCode就没有那么麻烦了.
------解决方案--------------------
不同浏览器传输中文的时候,字符集不同。有GBK的,也有UTF-8的。用urlencode一下,会比较妥当。
------解决方案--------------------
补充,我说的是在地址栏传输中文。
------解决方案--------------------
还是1楼的方法,你就直接取值的时候取转换完的值,比如php:alt="urlencode('龙')"JS:attr(alt)
------解决方案--------------------
引用:
我的这一句是从JS转过去的http://localhost/xs7k/search/author-龙.html

location.href='../search/'+type.options[type.selectedIndex].value+'-'+key.value+'.html';

在这里如果对key.value进行编码,PHP的不能用在这里的吧?
尝试在后台输出key.vlaue的值试试
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.