首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

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

2013-01-11 
URL接收的参数乱码,但是本地是正常的本帖最后由 cg20 于 2012-10-14 22:54:57 编辑http://localhost/xs7k/

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="URL接收的参数乱码,但是本土是正常的"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的值试试

热点排行