Request.Querystring中文乱码问题解决

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

原因:不知道为什么,可能是编码不一致问题

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

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

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

解决方法2:不修改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编码的字符串就可以正常解析出汉字了。

解决方法3:asp.net对asp.net页面传值

进行传递

string Name = "中文参数";

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

进行接收

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

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

解决方法4:javascript对asp.net页面传值。

<script language="javascript">

function escode()

{

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

}

</script>

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

解决方法5:

<a href="#" onclick="window.location = encodeURI(‘<%# "PhoneManager.aspx?BMNAME="+DataBinder.Eval(Container.DataItem,"BMNAME")%>‘)">标题</a>

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

时间: 2024-08-29 12:16:22

Request.Querystring中文乱码问题解决的相关文章

jsp中request.getParameter()中文乱码问题解决

关于使用request.getParameter()得到中文乱码的问题,在网上查找了一天终于找到了一个解决方案,是一个比较笨的方法,要在每个使用request.getParameter()的地方添加如下代码,代码如下: 1 String name=request.getParameter("name"); 2 if(name!=null){ 3 name=new String(name.getBytes("ISO8859_1"),"utf-8")

soapUI参数中文乱码问题解决方法&amp;soap UI工具进行web接口测试

soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文的,如FangSong 可能方案2: 如果响应报文有乱码,可尝试: file-preferences-http settings,不勾选response compression 注意:前两种修改都要将乱码窗口重新打开才生效. 可能方案3: 编辑soapui.bat文件,在 set JAVA_OPTS

【转】asp.net Cookie值中文乱码问题解决方法

来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqiang.blog.163.com/blog/#m=0 ============================================================================== cookie中怎么保存中文 在用cookie保存用户名的时候,发现cookie值不能存中文

zabbix中文乱码问题解决方法(Zabbix 2.2.3)

我把zabbix安装完成后,调整为中文界面,出现乱码. 原因:因为没有中文字体,没有设置显示字体为中文. 解决方法(网络整理收集): 1.获取一个字体文件,上传至zabbixServer的web目录fonts文件夹(/data/www/zabbix/fonts), Windows → 控制面板 → 字体 命名为小写字母 2.修改配置文件,/www/zabbix/include/defines.inc.php //define('ZBX_FONT_NAME', 'DejaVuSans'); def

LoadRunner中文乱码问题解决方法

LoadRunner中文乱码问题解决方法 前段时间在录制,增强,整合LoadRunner脚本,期间两次遇到了中文乱码问题.在此记录一下中文乱码问题的解决办法. 一.录制回放中文乱码 我录制登陆的脚本,用户名中出现中文,回放的时候总是提示登陆失败.如下图: 图1 LR回放中文乱码 解决中文乱码可以在录制的时候在Virtual User Gen的 Tools->Recoding Options -> Advanced -> Support charset -> UTF-8.重新录制后中

ruby 输入中文乱码问题解决

近在Netbeans中用ruby时,发现输出的中文全是乱码,解决方法如下: 在Netbeans的安装目录中找到etc目录,然后打开这个目录,然后用把此文件在netbeans中打开 在里面的netbeans.conf配置文件中添加一个选项. 即是在 netbeans_default_options这行的末尾加上-J-Dfile.encoding=UTF-8这个参数. 添加后如下netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:

django 中文乱码问题解决

1.在所有涉及到中文显示的页面头加上 #coding:utf-8 2.修改settings.py文件,添加 FILE_CHARSET = 'utf-8' DEFAULT_CHARSET = 'utf-8' 然后修改LANGUAGE_CODE = 'zh-cn' 3.用记事本打开,另存为utf-8编码的. 以上都做过还是乱码,我就没招了 django 中文乱码问题解决,布布扣,bubuko.com

ubuntu mysql emma中文乱码问题解决

ubuntu mysql emma中文乱码问题解决 emma默认用apt-get 安装的话,emma是不支持中文的,配置文件或直接修改emma程序源文件(python). apt-get安装emma sudo apt-get install emma ubuntu的apt-get 安装emma是在/usr/share/emma目录下面. cd /usr/share/emma/emmalib sudo vim __init__.py 找到 "db_encoding": "lat

Android studio 中文乱码问题解决

针对刚安装好的Android studio, 比如import工程时,你会发现你的很多中文目录显示异常,如下图: 为什么会出现这个问题呢,其实原因很简单,因为Android studio的默认Font并不支持中文. 怎么解决呢,打开settings,如下图: 选择用红色框框起来任意一种,那为啥都是乱码呢,因为这些都是中文字体的格式,所以在你设置之前当然也是显示不了. 或者你也可以选择'simsun'.这个样式也很多人在用. OK,这样就可以了! Android studio 中文乱码问题解决,布