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

JSP和servlet中出现中文乱码的快速解决方法

2012-06-08 20:04 405 查看
jsp和servlet中出现中文乱码的情况很多,而且针对每种情况的解决方案都不太相同,现在我先简单的介绍一下出现乱码的各种情况以及相应的解决方案.

1.页面中的中文乱码.

例如:

PrintWriter out = response.getWriter();

out.println("你好");

在servlet中如果不加任何处理,这样做会出现乱码,解决方法就是在定义out对象之前插入这句代码:

response.setCharacterEncoding("utf-8");
这里的字符编码可以根据你的项目使用的字符编码自行决定.

2.post表单提交传值乱码.

例如:

String value=request.getParameter("name");

out.println(value);

如果在页面中显示的中文是通过post方式提交过来的,需要在调用getParameter方法之前,插入这句代码防止乱码

request.setCharacterEncoding("utf-8");

3.get表单提交传值乱码.

由于get提交的信息是直接显示在浏览器地址栏中的,而浏览器地址栏默认的编码方式为ISO-8859-1,所以处理get方式的乱码需要将通过get方式获得的中文进行字符转码

在这给出方法:

String value=request.getParameter("name");
value=new String(value.getBytes("ISO-8859-1"),"UTF-8");//通过这行代码将value的字符编码转换为UTF-8


如果你想知道如何使用过滤器处理乱码,请访问我的另一篇文章使用fiter(过滤器)处理JSP和servlet的中文乱码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: