prototype中文参数乱码解决方案

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

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

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

prototype中文参数乱码解决方案 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 " ]; // 接受中文

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

prototype中文参数乱码解决方案 Code
prototype中文参数乱码解决方案 Code


非Ajax的可以参看这里

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

你可能感兴趣的:(prototype)