原帖地址:http://www.cnblogs.com/Fly-sky/archive/2009/04/22/1441015.html

现象:近期项目中用到查询字符串传值,如果传递的是英文一切正常,但是传递中文时。request.querystring[]得到的是乱码。

原因:默认浏览器有utf-8编码,vs2005中默认也是utf-8,

解决方法:修改web.config文件添加<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />

问题2:如果在网页中调用的第三方控件和编写了<script >代码的话,用gb2312编码的话,第三方控件会出错,

原因:js一般用utf-8编码

解决办法:不修改web.config文件,只对需要传值的页面修改编码。在Page_Load()中添加解码语句,将传递至解码。使用到的命名空间System.collection.Specialized 函数NameValueCollection nc = HttpUtility.ParseQueryString(Request.Url.Query, Encoding.GetEncoding("utf-8"));string sort = nc["Sort"]; string zgdw = nc["Zgdw"];这样,用utf-8编码的字符串就可以正常解析出汉字了。

方法1.设置web.config文件

<system.web>

<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />

</system.web>

方法2.asp.net对asp.net页面传值

进行传递

string Name = "中文参数";

Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));

进行接收

string Name = Request.QueryString["Name"];

Response.Write(Server.UrlDecode(Name));

方法3.javascript对asp.net页面传值。

<script language="javascript">

function escode()

{

location.href ="B.aspx?Name="+escape(Name);

}

</script>

在asp.net页面中正常使用Request.QueryString("Name").toString()就可以得到正确的中文了

方法4:

<a href="#" onclick="window.location = encodeURI('<%# "PhoneManager.aspx?BMNAME="+DataBinder.Eval(Container.DataItem,"BMNAME")%>')">员工联系方式</a>

在asp.net页面中使用Request["BMNAME"]就可以正常取得汉字了。

第四种方法百试不爽!

【转】querystring传递中文出现乱码的问题的更多相关文章

  1. asp.net——地址栏传递中文参数乱码解决方案

    地址栏传递中文参数乱码解决方案: 很多人在使用地址栏传递参数的时候都会遇到一个麻烦的问题(参数为中文时乱码了),那要怎么解决呢? 其实解决这个问题也不怎么难,无非就是给要传递的中文参数一个编码解码的过 ...

  2. js的url中传递中文参数乱码,如何获取url中参数问题

    一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: <script type=”text/javascript ...

  3. .NET在IE9中页面间URL传递中文变成乱码的解决办法

     在.Net的项目中,鼠标点击查询按钮,转到查询页面,但URL中包含中文时,传到服务器端后,中文变成了乱码(只有IE9出现该问题).       尝试使用Server.UrlEncode()进行编码, ...

  4. JS中的的Url传递中文参数乱码,如何获取Url中参数问题

    一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码:<script type=”text/javascript” ...

  5. Js的Url中传递中文参数乱码的解决

    一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: 2. 接收参数页面:test02.html 二:如何获取Url& ...

  6. jquery与后台相互传递中文参数乱码

    前端.后台传递中文参数,乱码的情况: var a="参数乱码"; //编译两次        window.location.href=encodeURI(encodeURI(&q ...

  7. url 传递中文参数乱码问题的终极解决方法。

    估计很多人在做web开发的时候,都会碰到过url传递中文参数,有时候会出现乱码的问题,但有些项目或者环境,又不会有问题.当遇到乱码的时候,上网找了很多解决方案,比如: 页面设置它的编码方式,改成utf ...

  8. javascript通过url向jsp页面传递中文参数乱码解决方法

    解决方法:在传递参数前将中文参数进行两次编码,jsp页面获取参数后对中文参数进行一次解码,中文参数就不会变为乱码了! 参考例子: <%@ page language="java&quo ...

  9. GET方法传递中文参数乱码解决办法

    1.在页面中对你的URL进行编码 使用------encodeURI(你要使用的中文参数值)如:...?username"+encodeURI(“小甜甜") 2.在后台通过解码来接 ...

随机推荐

  1. HDU 4628

    这是一个大水题啊... 因为比赛时不会算复杂度耽误半天. i从0到2^n枚举集合i的所有分割两半的情况的复杂度为O(3^n),可以想象这个过程相当于是给每个位标记0,1,2(0表示不选,1,2表示两个 ...

  2. 网站WAF的检测

    [wafw00f]: 项目地址: https://github.com/sandrogauci/wafw00f WAFW00F是识别和指纹Web应用防火墙(WAF)产品,其工作原理是首先通过发送一个正 ...

  3. c# 调用 c++写的DLL

    http://www.cnblogs.com/MarsPanda/archive/2012/09/03/2668522.html 解决办法 安装 vcredist 运行库 或者用VC6.0编写DLL ...

  4. IOS - 常用宏定义和功能方法

    可能不定期添加新的东西 github地址:https://github.com/yuqingzhude/CommonUseDemo /************************Tools**** ...

  5. iOS开发——屏幕适配篇&Masonry详解

    Masonry详解 前言 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-ip ...

  6. .NET下解析Json的方法

    .NET下几种常见的解析JSON方法 主要类 命名空间 限制 内建LINQ支持 DataContractJsonSerializer System.Runtime.Serialization.Json ...

  7. java跨平台性分析

    实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍.我以前很喜欢Serv-U,自从它用Java重 ...

  8. 如何将java代码生成一个bat文件

    java -cp classes;lib/* beans.FileUpload  列出所要带的参数,用空格分开Pause

  9. 面试体验:Google 篇(转)

    http://www.cnblogs.com/cathsfz/archive/2012/08/08/google-interview-experience.html 尝试在自己的博客上搜索点东西,结果 ...

  10. Swift数据类型

    1.Swift中常用数据类型:首字母大写 Int.Float.Double.Bool.Character.String Array.Dictionary.元组类型(Tuple).可选类型Optiona ...