java乱码问题

1、在获取session数据时出现乱码:

解决方法:String   str1   =   new   String(str.getBytes( "iso-8859-1 "), "GB2312 ");

2、html显示出现乱码:

解决方法:

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

3、客户端提交中文,Servlet获取是乱码:

如果是get方式,在tomcat中,在conf/server.xml文件中8080端口的connector元素增加URIEncoding="utf-8" 如果是post方式,在servlet中,request.setcharactorEncoding("utf-8");放在request.getparameter之前。

4、Servlet提交中文,客户端获取乱码
Servlet中加入response.setCharactorEncoding("utf-8");该代码要放在response.getWriter()之前。

5、javascript中提交数据在服务器端获取出现乱码:

解决方法:

客户端代码设置:<script type="text/javascript" charset="gb2312">要为“gb2312”,用其他的试过都不行。

服务端代码获取:new String(request.getParameter("name").getBytes("ISO-8859-1"),"gb2312");

6、jsp页面中ajax提交数据后台获取出现乱码

第一种情况:$.get("/AjaxServer?name="+$("#username").val(),null,function(data){});

客户端使用编码:gb2312,

后台获取采用:gb2312

第二种情况:$.ajax({
type:"Get",
url:"/AjaxServer", //servlet
dataType:"text",
data:{name:username},
success:function(data){
alert(username);
alert(data);
}
})

客户端采用编码:new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");


你可能感兴趣的:(乱码)