日期:2014-05-17  浏览次数:20524 次

遇见一个GET参数问题!请求帮助,急急在先等到100分!!!
地址:
region.php?Act=Modify&Province=北京&City=海淀
会出现:
Internal ? Server ? Error
The ? server ? encountered ? an ? internal ? error ? or ? misconfiguration ? and ? was ? unable ? to ? complete ? your ? request.

Please ? contact ? the ? server ? administrator, ? lihuijun8193@163.com ? and ? inform ? them ? of ? the ? time ? the ? error ? occurred, ? and ? anything ? you ? might ? have ? done ? that ? may ? have ? caused ? the ? error.

More ? information ? about ? this ? error ? may ? be ? available ? in ? the ? server ? error ? log.


--------------------------------------------

Apache/2.0.52 ? (Win32) ? Server ? at ? lll ? Port ? 80

将:region.php?Act=Modify&Province=北京&City=海淀改成:
region.php?Act=Modify&Province=lsdk&City=lul
访问就没有任何问题.
为什么服务器不能接受 "中文的参数 ";
请求帮助.在线等待:
php5.0+apache ? 2+xp ? 本地测试服务器.



------解决方案--------------------
用url编码
------解决方案--------------------
urlencode你的中文传值
------解决方案--------------------
urlencode
------解决方案--------------------
urlencode
------解决方案--------------------
解决了,接分了
------解决方案--------------------
urlencode,随便哪一种code都成:),接分
------解决方案--------------------
可以直接传递

但不兼容firefox
------解决方案--------------------
做链接时: ? 'region.php?Act=Modify&Province= '.urlencode( '北京 '). '&City= '.urlencode( '海淀 ');
接收参数时: ? $Province ? = ? urldecode($_GET[ 'Province ']);
? ? ? ? ? ? ? ? ? ? ? ? $City ? = ? urldecode($_GET[ 'City ']);
------解决方案--------------------
region.php?Act=Modify&Province=北京&City=海淀

你是说直接在浏览器地址栏上输入中文?

首先,你的页面采用的什么编码类型?如果是GBK,GB2312,不存在这个问题,如果统一都是utf-8,那要转下编码.
由于在客户端浏览器输入的文字,编码都是操作系统默认的,一般来说中文xp采用的是GBK,所以你在页面上GET到后,会与你的utf-8编码不统一,get下来后是乱码.

解决办法:
$Province ? = ? iconv( ' ', 'utf-8 ',$_GET[ 'Province ']);
$City ? = ? iconv( ' ', 'utf-8 ',$_GET[ 'City ']);

要保证你的服务器支持iconv函数,否则请用其他方法转码.
我的异常网推荐解决方案:The server encountered an internal error () that prevented it from fulfilling this request.,http://www.aiyiweb.com/java-web/317.html