问:如何让ASP.net网页可以同时接收GB2312和utf-8编码的参数 用户提交的参数有的是GB2312 编码,有的是UTF-8编码,总是只能正确接收一种编码,请问我如何才能正确得到两种编码的参数? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 转贴.....url传递中文的解决方案 1.设置web.config文件。(我不喜欢设置成这样) <system.web> ...... <globalization requestEncoding="gb2312" respon_seEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> ...... </system.web> 2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。 >> 进行传递 string Name = "中文参数"; Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)); >> 进行接收 string Name = Request.QueryString["Name"]; Response.Write(Server.UrlDecode(Name)); 3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数的话(即不从后台用 Redirect()方法进行 Url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。 >> 进行传递 <script language="JavaScript"> function GoUrl() { var Name = "中文参数"; location.href = "B.aspx?Name="+escape(Name); } </script> <body on_click="GoUrl()"> >> 进行接收 string Name = Request.QueryString["Name"]; Response.Write(Server.UrlDecode(Name)); 一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。 to:adandelion(猪头)这样实现不了因为客户传递过来的参数是从不同网站传过来的,我无法控制,我只能在接收时转换成正确编码! to: Mirricle(Miracle Supply) 能不能详细说说步骤? 比如说我现在得到的是GB2312编码的串,而我是用utf-8接收的<globalization requestEncoding="utf-8" responseEncoding="utf-8" />我如何才能将接收到的字符串还原成正确的字符? GB2312不是两个字节一个汉字吗有个十六进制的范围好像是A1A1到什么来着你看看你得到的串 每两个字节都在不在这个方位内如果在就按GB2312的解 不在就按UTF-8的解 http://dev.csdn.net/article/74/74590.shtm看看这篇 可能有点用 asp.net16进制不到4位的自动补0代码 如何用sql查询含有共同部分的行??? .net框架设计 Asp中嵌入网页问题 在ASP.NET中如何使用DOM来读取一个HTML文件 处理过长文本 有谁用过dropdownlist? *.aspx页面在外服上呈现乱码怎么解决???? 在asp.net里面如何实现横向循环?? 怎样使保存到数据库的包含格式的文本在<td></td>中原样显示出来? Jmail组件的问题!! 请教 高手帮助!!!!!!!!!!!!!!
url传递中文的解决方案
1.设置web.config文件。(我不喜欢设置成这样)
<system.web>
......
<globalization requestEncoding="gb2312" respon_seEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
......
</system.web>
2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。
>> 进行传递
string Name = "中文参数";
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));
>> 进行接收
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name)); 3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数的话(即不从后台用 Redirect()方法进行 Url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。
>> 进行传递
<script language="JavaScript">
function GoUrl()
{
var Name = "中文参数";
location.href = "B.aspx?Name="+escape(Name);
}
</script>
<body on_click="GoUrl()">
>> 进行接收
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name)); 一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。
这样实现不了因为客户传递过来的参数是从不同网站传过来的,我无法控制,我只能在接收时转换成正确编码!
<globalization requestEncoding="utf-8" responseEncoding="utf-8" />我如何才能将接收到的字符串还原成正确的字符?
有个十六进制的范围好像是A1A1到什么来着你看看你得到的串 每两个字节都在不在这个方位内如果在就按GB2312的解 不在就按UTF-8的解
看看这篇 可能有点用