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

       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的中文乱码

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值