189 8069 5689

如何解决JSP页面显示乱码问题

一、JSP页面显示乱码

创新互联建站-专业网站定制、快速模板网站建设、高性价比宝山网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式宝山网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖宝山地区。费用合理售后完善,十余年实体公司更值得信赖。

下面的显示JSP页面(display.jsp)就出现乱码:

 
 
 
  1.    
  2.    
  3. </strong>JSP的中文处理<strong>   
  4.  http-equiv="Content-Type" content="text/html; charset=gb2312">   
  5.    
  6.    
  7. <%   
  8. out.print("JSP的中文处理");   
  9. %>   
  10.    
  11.  

对不同的WEB服务器和不同的JDK版本,处理结果就不一样。原因:服务器使用的编码方式不同和浏览器对不同的字符显示结果不同而导致的。解决办法:在JSP页面中指定编码方式(gb2312),即在页面的***行加上:

 
 
 
  1. <%@ page contentType="text/html; charset=gb2312"%> 

就可以消除乱码了。完整页面如下:

 
 
 
  1. <%@ page contentType="text/html; charset=gb2312"%>   
  2.    
  3.    
  4. </strong>JSP的中文处理<strong>   
  5.  http-equiv="Content-Type" content="text/html; charset=gb2312">   
  6.    
  7.  
  8.    
  9. <%   
  10. out.print("JSP的中文处理");   
  11. %>   
  12.    
  13.  

二、表单提交中文时出现乱码

下面是一个提交页面(submit.jsp),代码如下:

 
 
 
  1.    
  2.    
  3. </strong>JSP的中文处理<strong>   
  4.  http-equiv="Content-Type" content="text/html; charset=gb2312">   
  5.    
  6.    
  7.  name="form1" method="post" action="process.jsp">   
  8.  align="center">   
  9.  type="text" name="name">   
  10.  type="submit" name="Submit" value="Submit">   
   
  •    
  •    
  •  
  • 下面是处理页面(process.jsp)代码:

     
     
     
    1. <%@ page contentType="text/html; charset=gb2312"%>   
    2.    
    3.    
    4. </strong>JSP的中文处理<strong>   
    5.  http-equiv="Content-Type" content="text/html; charset=gb2312">   
    6.    
    7.    
    8. <%=request.getParameter("name")%>   
    9.    
    10.  

    如果submit.jsp提交英文字符能正确显示,如果提交中文时就会出现乱码。原因:浏览器默认使用UTF-8编码方式来发送请求,而UTF-8和GB2312编码方式表示字符时不一样,这样就出现了不能识别字符。解决办法:通过request.seCharacterEncoding("gb2312")对请求进行统一编码,就实现了中文的正常显示。修改后的process.jsp代码如下:

     
     
     
    1. <%@ page contentType="text/html; charset=gb2312"%>   
    2. <%   
    3. request.seCharacterEncoding("gb2312");   
    4. %>   
    5.    
    6.    
    7. </strong>JSP的中文处理<strong>   
    8.  http-equiv="Content-Type" content="text/html; charset=gb2312">   
    9.    
    10.  
    11.    
    12. <%=request.getParameter("name")%>   
    13.    
    14.  

    三、数据库连接出现乱码

    只要涉及中文的地方全部是乱码,解决办法:在数据库的数据库URL中加上useUnicode=true&characterEncoding=GBK就OK了。

    四、数据库的显示乱码

    在mysql4.1.0中,varchar类型,text类型就会出现中文乱码,对于varchar类型把它设为binary属性就可以解决中文问题,对于text类型就要用一个编码转换类来处理,实现如下:

     
     
     
    1. public String iso2gb(String qs)   
    2. {   
    3. try{   
    4. if (qs == null) return "NULL";   
    5. else   
    6. {   
    7. return new String(qs.getBytes("iso-8859-1"),"gb2312");   
    8. }   
    9. }   
    10. catch(Exception e){   
    11. System.err.println("iso2gb error:"+e.getMessage());   
    12. }   
    13. return "NULL";   
    14. }   
    15. public String gb2iso(String qs)   
    16. {   
    17. try   
    18. {   
    19. if (qs == null) return "NULL";   
    20. else {   
    21. return new String(qs.getBytes("gb2312"),"iso-8859-1"); }   
    22. }   
    23. catch(Exception e){ System.err.println("gb2iso error:"+e.getMessage());}   
    24. return "NULL";   

    以上是开发过程中,JSP页面经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。


    当前名称:如何解决JSP页面显示乱码问题
    URL分享:http://cdxtjz.cn/article/copposd.html

    联系我们

    您好HELLO!
    感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
    • 电话:028- 86922220 18980695689
    • 商务合作邮箱:631063699@qq.com
    • 合作QQ: 532337155
    • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

    小谭建站工作室

    成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

    小谭观点

    相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
    我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。