您的位置:首页 > Web前端 > JavaScript

js从html获取提交给servlet,servlet把值返回html 出现中文乱码

2010-05-10 16:47 441 查看
js:

$("#verifyButton").click(function(){
var username=$("#username").val();
if(username==""){
alert("用户名不能为空!");
}else{
$.get("servlet/userVerifyServlet?username="+username,null,function(response){
$("#result").html(response);
});

servlet:

response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String username=request.getParameter("username");
String value=new String(username.getBytes("iso8859-1"),"gb2312");
out.println("该用户名"+value+"可以使用");
out.flush();
out.close();

注意:将gb2312不可改为utf-8 否则仍是乱码

在jsp页面上设置了contentType="text/html;charset=gb2312"

我总结了一下ajax乱码问题.主要有三个地方.
1.传入中文参数时乱码
解决.string value = new String(in.getByte("iso8859-1"),"gb2312");
注意,这里只能用gb2312 or GBK

2.输出中文乱码
解决contentType="text/html;charset=gb2312"
注意,如果你设response.setCharEncoding="gb2312"没有用.

3.大文本传输时中文乱码
解决string value = new String(in.getByte("iso8859-1"),"UTF-8");
注意,只能用UTF-8才能正确显示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐