浏览器对有中文参数的url大部分都用utf-8编码,但我也曾经遇见过用GB2312编码的;如果遇见这样情况,那么接受到的参数就会出现乱码。乱码情况视服务器解码方式,Asp.Net网站一般默认为utf-8解码,如果GB2312编码就会出现乱码。
 
 
 
最佳的解决办法:
当然是使用js编码参数后再进行get或post:
encodeURIComponent
 
特殊情况:
当然这是普通情况,如遇到自己没办法编码后呢?直接上代码:

string input = GetUrlParam(key).ToLower();//GetUrlParam 是获取url参数原始编码的方法
            if (input.Length == 0)
                return string.Empty;

//首先用utf-8进行解码 
            string result = HttpUtility.UrlDecode(input, Encoding.UTF8);

// 将已经解码的字符再次进行编码.             
            string encode = HttpUtility.UrlEncode(result, Encoding.UTF8).ToLower();

//与原来编码进行对比,如果不一致说明解码未正确,用gb2312进行解码 
            if (input != encode)
                result = HttpUtility.UrlDecode(input, Encoding.GetEncoding("gb2312"));

return result;

URL中文参数乱码的一个解决办法的更多相关文章

  1. java url中文参数乱码问题

    http://www.blogjava.net/jerry-zhaoj/archive/2009/07/16/286993.html 转 JAVA 中URL链接中文参数乱码的处理方法JAVA 中URL ...

  2. request.getParameter()获取URL中文参数乱码的解决办法

    这个问题耽误好长时间,URL传中文参数出现乱码,就算首次使用request接收就添加 request.setCharacterEncoding("UTf-8"); 依然报错不误. ...

  3. SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;

    情况一: ajax中传值时是乱码(后台可以获取到中文字符,但用@ResponseBody返回时前台为乱码) 情况二: Controller 中 request.getParameter()获取到的是乱 ...

  4. url中文参数乱码问题

    1.参数乱码: js: var url = $$pageContextPath + "iecp/ads/heilanAnalogCurve.do?pointCode=" + get ...

  5. JS获取URL中文参数乱码的解决方法

    浏览器URL参数值中带有汉字字符,在接收时直接获取会出现乱码,下面是解决方法(传递前不需要encodeURI): function getUrlVars() { var vars = [], hash ...

  6. js传url中文参数乱码问题

    $("#btnKeyWord").click(function () { window.open("/Atraction/Atraction.aspx?keyword=& ...

  7. java url中文参数乱码

    String city=new String(city_name.getBytes("ISO-8859-1"), "UTF-8");

  8. js截取get参数乱码问题之解决

    举个例子说一下: http://wwww.yctech.com/blog/post?id=1 像这样的话,通常通过如下代码直接截取不用做任何处理: function getQueryString(na ...

  9. spring mvc 中文参数乱码

    最近做项目,springmvc的url中文参数乱码: 请求url: http://localhost:8080/supply/supply_list.htm?productName=测试&is ...

随机推荐

  1. JSTL(JSP Standard Tag Library ,JSP标准标签库)

    JSTL标签之核心标签   JSTL(JSP Standard Tag Library ,JSP标准标签库)是一个实现 Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断.数据管 ...

  2. Ubuntu 创建启动器

    首先我们要了解,Ubuntu 的 Dash 里所有程序都是在 /usr/share/applications 中的,所以我们的思路很简单——建一个类似于“快捷方式”一样的东西扔进去就好了.所以第一步自 ...

  3. poj1475Pushing Boxes

    N - Pushing Boxes Time Limit:2000MS     Memory Limit:131072KB     64bit IO Format:%I64d & %I64u ...

  4. 初识ionic

    1.Ionic环境安装 Ionic开发是依赖于Nodejs环境的,所以在开发之前我们需要安装好Nodejs.下载安装:http://nodejs.org/ 安装完成之后打开PowerShell输入命令 ...

  5. __import__简介

    __import__()     import 语句通过调用__import__()来完成工作,提供这个函数是为了让有特殊需要的用户覆盖他,实现自定义.__import__最大的好处就是可以使程序在r ...

  6. python命令调用函数os.popen

    参考自xerosploit 描述:利用os.popen()函数调用系统命令nmap进行扫描,并用grep命令对扫描结果关键内容进行提取 代码 #!/usr/bin/env pthon #--*--co ...

  7. 背景background

    background简写:http://www.cnblogs.com/dunken/p/4380194.html

  8. shell 分支/循环

    ==)); then patern="Update" else patern="Read" fi in "-h") ] then helpI ...

  9. MiniMetro Items

    圈代表居民区三角写字楼等工作区方块是商业区钻石是金融中心五角星是政府 十字是医院 扁扁的旅游景区

  10. CG 标准函数库

    (1)数学函数 函数 功能描述 abs(x) 返回输入参数的绝对值 acos(x) 反余切函数,输入参数范围为[-1,1], 返回[0,π]区间的角度值 all(x) 如果输入参数均不为0,则返回tu ...