AJAX 如何在页面之间传输数据时破译中文乱码
2010-05-08 02:26
447 查看
有的时候我们需要在页面之间传输中文,但是.NET模认在Webconfig中为我们建立的编码格式为utf-8,于是在传输中文的时候变成了乱码,相应的接受也会是乱码信息,如何解决这个问题,我们可以用两种方法。
更改Webconfig中的编码方式,如下:
1.在你的web.config中把编码
< globalization
requestEncoding=" utf-8"
responseEncoding=" utf-8"
/>
改为
< globalization
requestEncoding=" gb2312"
responseEncoding=" gb2312"
/>
第二种方法:
首先在传递之前先编码:举例如下:
string xm=Server.URLEncode(" 张三" );
Response.Redirect(" b.aspx?xm=" +xm);
然后在接收页解码:
string xm = Server.URLDecode(Requext.querystring(" xm" ));
还有一个要说的是,在我们制作邮件系统时,会有一个接收base64的问题,经常会产生乱码,我是这样解决的,不妨试试。代码如下:
string encodedMail=" 邮件内容" ;
byte[] barr=Convert.FromBase64String(encodedMail);
string decodedMail=System.Text.Encoding.GetEncoding(" gb2312" ).GetString(barr);
都是作者自身经历的一些小问题,不妨写出来让大家看看,侃侃。
今天最后测试文件下载页,有一个用Request.QueryString[string]在地址栏取得数据并搜索的功能,一用中文就什么都搜不到。后来发现.NET默认在Web.config中为我们建立的编码格式为utf-8,于是在传输中文的时候变成了乱码,相应的接收也是乱码,解决这个问题主要可以用两种方法。
一是更改Web.config中的编码方式:
在你的web.config中把 < globalization requestEncoding=”utf-8″ responseEncoding=”utf-8″ />
改为 < globalization requestEncoding=”gb2312″ responseEncoding=”gb2312″ />
第二种方法,在传递之前先编码,如:
string searchStr = Server.URLEncode(”文件”);
Response.Redirect(”download.aspx?searchfile=” + searchStr);
然后在接收端用 Server.URLDecode(Request.QueryString[”searchfile”]);
个人觉得第二种方法更佳。注意.aspx文件的 ResponseEncoding 属性最好不要设置。
Web.config已经改成下面
< globalization fileEncoding=" gb2312" requestEncoding=" gb2312" responseEncoding=" gb2312" />
更改Webconfig中的编码方式,如下:
1.在你的web.config中把编码
< globalization
requestEncoding=" utf-8"
responseEncoding=" utf-8"
/>
改为
< globalization
requestEncoding=" gb2312"
responseEncoding=" gb2312"
/>
第二种方法:
首先在传递之前先编码:举例如下:
string xm=Server.URLEncode(" 张三" );
Response.Redirect(" b.aspx?xm=" +xm);
然后在接收页解码:
string xm = Server.URLDecode(Requext.querystring(" xm" ));
还有一个要说的是,在我们制作邮件系统时,会有一个接收base64的问题,经常会产生乱码,我是这样解决的,不妨试试。代码如下:
string encodedMail=" 邮件内容" ;
byte[] barr=Convert.FromBase64String(encodedMail);
string decodedMail=System.Text.Encoding.GetEncoding(" gb2312" ).GetString(barr);
都是作者自身经历的一些小问题,不妨写出来让大家看看,侃侃。
今天最后测试文件下载页,有一个用Request.QueryString[string]在地址栏取得数据并搜索的功能,一用中文就什么都搜不到。后来发现.NET默认在Web.config中为我们建立的编码格式为utf-8,于是在传输中文的时候变成了乱码,相应的接收也是乱码,解决这个问题主要可以用两种方法。
一是更改Web.config中的编码方式:
在你的web.config中把 < globalization requestEncoding=”utf-8″ responseEncoding=”utf-8″ />
改为 < globalization requestEncoding=”gb2312″ responseEncoding=”gb2312″ />
第二种方法,在传递之前先编码,如:
string searchStr = Server.URLEncode(”文件”);
Response.Redirect(”download.aspx?searchfile=” + searchStr);
然后在接收端用 Server.URLDecode(Request.QueryString[”searchfile”]);
个人觉得第二种方法更佳。注意.aspx文件的 ResponseEncoding 属性最好不要设置。
Web.config已经改成下面
< globalization fileEncoding=" gb2312" requestEncoding=" gb2312" responseEncoding=" gb2312" />
相关文章推荐
- 如何解决页面之间传输中文乱码的问题
- 如何解决页面之间传输中文乱码的问题
- 如何解决页面之间传输中文乱码的问题
- ASP.NET如何解决页面之间传输中文乱码的问题
- ASP.NET如何解决页面之间传输中文乱码的问题
- 如何解决页面之间传输中文乱码的问题
- 如何解决页面之间传输中文乱码的问题
- 如何解决页面之间传输中文乱码的问题
- 如何解决页面之间传输中文乱码的问题
- 如何解决页面之间传输中文乱码的问题
- 解决页面之间传输中文乱码的问题?
- ajax请求的数据存在中文乱码,如何设定编码格式
- AJAX传输数据的中文乱码之完全解决方案
- 记录问题:ajax返回对象到页面问题以及数据中文乱码问题
- 解决页面之间传输中文乱码的问题
- ajax请求数据,Json返回到页面的数据出现中文乱码问题。
- AJAX传输数据的中文乱码之完全解决方案
- 解决页面之间传输中文值时出现乱码的问题
- 解如何利用 XML 和 JavaScript Object Notation 在 Ajax 客户端和 Java 服务器之间传输数据。
- 解决页面之间传输中文乱码的问题