prototype中文参数乱码解决方案

在使用portotype,调用ajax方法时出现乱码,此时,获取页面中加入

可以试试;; Page.Response.Charset = "gb2312";

如果不奏效,有人提供另外解决方案:

Code

 
另外还有一种方案;无论web.config中是否是"gb2312",都可以奏效。参考http://www.okajax.com/a/200904/prototype_utf8.html

方法如下;

1.将参数用encodeURI()编码

var par;  
par
="param1="+"中文值"+"&param2="+"其他值";  
var url="server.aspx";  
var myAjx=new Ajax.Request(url,{method: get',parameters: encodeURI(par) ,onComplete: submit});

 2.接受端代码

NameValueCollection nvc= HttpUtility.ParseQueryString(Request.Url.Query, Encoding.UTF8);  
string title = (nvc["param1"== null? "" : nvc["param1"];//接受中文

给出一个完整的调用示例,

Code
Code


非Ajax的可以参看这里

 http://www.cnblogs.com/downmoon/archive/2007/12/30/1021140.html

posted @ 2009-11-09 17:47  邀月  阅读(1504)  评论(0编辑  收藏  举报