我在SERVLET中进行了转码:
response.setHeader("Content-Type","text/html; Charset=GB2312");
request.setCharacterEncoding("GB2312");
加了这样的两句
页面上
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
var myAjax = new Ajax.Request(
url,
{
method:'POST',
parameters:pars,
encoding:'GB2312',
onComplete:showReturn
});
就是prototype.js中也改成了 GB2312可还是中文变成了乱码,
有知道的请回复

解决方案 »

  1.   

    把类文件和js文件的属性也改为:gb2312看看
    不行,全部编码都改为gbk或UTF-8再试下,还有,tomcat里那个编码也要改成统一的.
    还是不行的话,就用编码转换吧,google一下,网上这方面的资料很多
      

  2.   

    你发了两个相同的帖子?解决:在url中把中文部分用encodeURI加密两次例如 var url = aaa.do?xxxx=encodeURI(encodeURI("哈哈"))在java类解密一次java.net.URLDecoder.decode(request.getParameter("xxxx"),"utf-8");
    ajax只支持utf-8格式的
      

  3.   

    首先,改成
    response.setCharacterEncoding("GB2312"); servlet中处理时候,需要String str = new String("中文".getBytes("iso-8859-1"),"gb2312");实在不行你就写一个过滤器吧,这样也稳定。
    承揽:网站开发,SEO优化,毕业设计,OA,ERP,空间,域名,企业级管理系统  业务范围:[.net] [java]
      

  4.   

    全部改成GB2312也是不行的 因为prototype只支持UTF-8你用了GB2312也会被prototype转成UTF-8。所以要解决是就想办法要prototype强制支持GB2312。