网站上传到服务器后,当URL参数中有中文字符(如:http://www.abc.com/e_regExplain.aspx?UserName=错误)就会出现:

错误代码: 500 Internal Server Error。The request was rejected by the HTTP filter. Contact the server administrator. (12217)
急!!!!!!!!!!!!!!!!!!!!
谢!!!!!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    对中文进行Server.UrlEncode("错误")
      

  2.   

    另外参考
    http://support.microsoft.com/kb/820129/zh-cn
      

  3.   

    某些字符串(比如中文)无法在做为URL在地址栏解析,所以用此方法,转码. string str = server.Urlencode("字符串"); str 就是经过转码的字符串.
      

  4.   

    http://www.cnblogs.com/Moosdau/archive/2009/04/02/1428130.html
      

  5.   

    经测试:
    UserName=错误
    经Server.UrlEncode("错误")改为:
    UserName=%e9%94%99%e8%af%af
    仍然出现同样的错误在本地电脑上试了,不会出错。
      

  6.   

    现在开始后悔学.NET了。发布烦、更新烦、不应该烦的烦……
      

  7.   

    是程序问题吧?别说中文,URL可以传任何东西
      

  8.   

    也许楼主可以上网找找有关编码的问题 的解决办法,还有其实可以用英文来替代中文,比如:http://www.abc.com/e_regExplain.aspx?UserName=InvalidUserName
      

  9.   

    最好的方法就是url地址编码一下。
    用HttpUtility.UrlEncode();
    在接收参数的页面用HttpUtility.UrlDecode()解码一下就可以了。
    建议,参数传递时,不管不中文还是英文数学的,都应该编码一下。这样对URL信息是一种保护。也是一种安全的选择.
      

  10.   

    只是不满.net的一些机制。不怕苦、够勤奋。这是对自己的评价。