六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 32|回复: 0

中文乱码 我的总结 不断更新

[复制链接]

升级  65%

121

主题

121

主题

121

主题

举人

Rank: 3Rank: 3

积分
395
 楼主| 发表于 2013-1-23 02:51:27 | 显示全部楼层 |阅读模式
java中文乱码问题

1、jsp中文乱码
   <0> 保证jsp输出到客户端的编码,即显示在客户端时的编码,即在浏览器上显示中文
     <%@page contentType="text/html; charset=gb2312"%>
   <1> jsp 页面,即你的jsp代码中出现中文时
       添加下面语句即可
       <%@page pageEncoding="GBK"%>
   <2> 表单以post方式提交时 <form method="post">.......</form>
2、dojo ajax 提交表单中文乱码
/*回调方法*/ function handler(response){ alert(response);  }  /*提交表单*/ function submitForm(){  dojo.xhrPost({   form: document.forms[0] ,  handleAs: "text" ,  handle: handler,    sync: true });  return false;  }
后台代码
new String(request.getParameter("name").getBytes("utf-8"),"GBK");//这种方式没有测试过,或者这样才是对的request.getParameter("name");//dojo 提交表单时,编辑方式为utf-8,

如果是有filter,将编码设置为了 GBK,则应该这样写,即将filter中设置的编码方式再转回来
new String(request.getParameter("name").getBytes("GBK"),"utf-8");//测试过//dojo 提交表单时,编辑方式为utf-8/*这样做不正确,有的汉字还是会乱码,一定要确保在filter中这样才能正确*/request.setCharacterEncoding("utf-8");//可以这样做:String a = request.getQueryString();        if(a==null || a.indexOf("AjaxEncoding=utf-8")==-1){        request.setCharacterEncoding("GBK");        }else{        request.setCharacterEncoding("utf-8");        }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表