jsp中文乱码处理总结

jsp开发中的中文乱码的处理是一个很简单,又很麻烦的问题,但总结了以后,却又感觉还行,不是那么复杂!

总的来说,乱码的问题分了三种:

1、jsp页面上的中文乱码:
a、jsp页面显示乱码:
是因为浏览器默认支持的地"iso8859-1",是不支持中文的,因此要人工转换:
在文件头上加上:<%@page contentType="text/html;charset=gb2312" %>
就处理好了页面的中文显示.
b、jsp页面传递乱码:
这个问题,只要在传递参数时,把编码进行转换就可以了,具体代码:
<%
String str=newString(request.getParameter("str").getBytes("iso-8859-1"),"gb2312");
%>
就可以了。
2、servlet处理中文参数的乱码:
servlet中时常要接收jsp页面传过来的参数,它也要进行一次编码转换,转换方式是,在接收参数的方法内,接收参数之前加上:
request.setCharacterEncoding("gb2312");
这句话,是专门处理页面传过来的乱码处理问题,保证在这里接收时,能接收到正确的中文。
而还有一名话,也是要加的:
response.setContentType("text/html; charset=gb2312");
这句话,就是专门处理在servlet里,当参数经过处理后,要传到客户端显示时,要保证传送的是正确的中文。
这两句话,都得写在servlet里。
3、url传递的中文乱码问题:
使用url编码传递参数,可以实现客户端会话跟踪,如果参数中有中文字符,就会无法读取。
如这样的:
<a href="url.jsp?method1=第一个参数&method2=第二个参数">点击</a>,还有使用get方法时,会经过url,有中文时,也会出问题。
到url里传递时,中文就会出现问题,处理方法:
在接收参数的jsp文件里,接收参数时,使用以下方法处理一下:
<%
String method1=new String(request.getParameter("method1").getBytes("ISO8859-1"),"gb2312");
String method2=new String(request.getParameter("method2").getBytes("ISO8859-1"));
%>
就可以了。
目前我知道的是这三种常出现的中文乱码解决。以后再见到了,再加!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值