常见JSP中文乱码例子及其解决方法

JSP开发应用是,中文乱码是个比较常见的问题,其根源是:Web容器默认的字符处理编码是ISO-8859-1。

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的泰安网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

实例一、JSP页面显示时

 
 
 
 
  1.  
  2.      
  3.        中文乱码——JSP页面显示时 
  4.      
  5.      
  6.        
     
  7.            
     
  8.            

    木兰辞拟古决绝词柬友

     
  9.            

    人生若只如初见,何事秋风悲画扇。

     
  10.          

    等闲变却故人心,却道故人心易变。

     
  11.          

    骊山语罢清宵半,泪雨霖铃终不怨。

     
  12.          

    何如薄幸锦衣郎,比翼连枝当日愿。

     
  13.         
  14.      
  15.  

运行结果:

解决方法:为其指定中文字符集,前加入

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

实例二、JSP页面传递中文参数时

注册页面:

 
 
 
 
  1. <%@ page contentType="text/html;charset=gb2312" %> 
  2.  
  3.      
  4.        中文乱码——JSP页面传递中文参数时 
  5.      
  6.      
  7.        

    申请账号:

     
  8.         
  9.            

    邮箱: 

     

  10.            

    昵称: 

     

  11.            

    密码: 

     

  12.            

    性别:  男  

  13.                           女

     

  14.            一句话介绍自己... 
  15.            

     
  16.         
  17.      
  18.  

个人信息页面:

 
 
 
 
  1. <%@ page contentType="text/html;charset=gb2312" %> 
  2.  
  3.      
  4.        中文乱码——JSP页面传递中文参数时  
  5.      
  6.      
  7.        
     
  8.            

    用户信息:

     
  9.            <% String email = request.getParameter("email"); %> 
  10.            <% String nickname = request.getParameter("nickname"); %> 
  11.            <% String password = request.getParameter("password"); %> 
  12.            <% String sex = request.getParameter("sex"); %> 
  13.            <% String introduction = request.getParameter("introduction");%> 
  14.            

    邮箱: <% out.print(email); %>

     

  15.            

    昵称: <% out.print(nickname); %>

     

  16.            

    密码: <% out.print(password); %>

     

  17.            

    性别: <% out.print(sex); %>

     

  18.            

    个人介绍:<%out.print(introduction); %>

     
  19.         
  20.      
  21.  

运行结果:

解决方法:修改个人信息页面如下

 
 
 
 
  1. <%@ page contentType="text/html;charset=gb2312" %> 
  2.  
  3.      
  4.        中文乱码——JSP页面传递中文参数时  
  5.      
  6.      
  7.        

    用户信息:

     
  8.        <% String email = newString(request.getParameter("email").getBytes("ISO-8859-1"), "gb2312");%> 
  9.        <% String nickname = newString(request.getParameter("nickname").getBytes("ISO-8859-1"), "gb2312");%> 
  10.        <% String password = newString(request.getParameter("password").getBytes("ISO-8859-1"), "gb2312");%> 
  11.        <% String sex = newString(request.getParameter("sex").getBytes("ISO-8859-1"), "gb2312");;%> 
  12.        <% String introduction = newString(request.getParameter("introduction").getBytes("ISO-8859-1"), "gb2312");;%> 
  13.        

    邮箱: <% out.print(email); %>

     

  14.        

    昵称: <% out.print(nickname); %>

     

  15.        

    密码: <% out.print(password); %>

     

  16.        

    性别: <% out.print(sex); %>

     

  17.        

    个人介绍:<%out.print(introduction); %>

     
  18.      
  19.  

实例三、Servlet处理中文参数时

注册页面:

 
 
 
 
  1. <%@ page contentType="text/html;charset=gb2312" %> 
  2. <%@ page import="test.UserMsg"%> 
  3.  
  4.      
  5.        中文乱码——JSP页面传递中文参数时 
  6.      
  7.      
  8.        

    申请账号:

     
  9.         
  10.            

    邮箱: 

     

  11.            

    昵称: 

     

  12.            

    密码: 

     

  13.            

    性别:  男  

  14.                           女

     

  15.            一句话介绍自己... 
  16.            

     
  17.         
  18.      
  19.  

UserMsg.java(Servlet)

 
 
 
 
  1. package test;  
  2.    
  3. importjava.io.IOException;  
  4. importjava.io.PrintWriter;  
  5. importjava.io.UnsupportedEncodingException;  
  6.    
  7. importjavax.servlet.http.HttpServlet;  
  8. importjavax.servlet.http.HttpServletRequest;  
  9. importjavax.servlet.http.HttpServletResponse;  
  10. public classUserMsg extends HttpServlet{  
  11.       public void doGet(HttpServletRequestrequest,  
  12.                  HttpServletResponse response){  
  13.            doPost(request, response);  
  14.       }  
  15.       public void doPost(HttpServletRequestrequest,  
  16.                  HttpServletResponse response){  
  17.            try {  
  18.                  request.setCharacterEncoding("gb2312");  
  19.            } catch (UnsupportedEncodingExceptione) {  
  20.                  e.printStackTrace();  
  21.            }  
  22.            PrintWriter out = null;  
  23.            try {  
  24.                  out = response.getWriter();  
  25.            } catch (IOException e1) {  
  26.                  e1.printStackTrace();  
  27.            }  
  28.            out.print("");  
  29.            out.print("");  
  30.            out.print("

    " +"用户信息:"+ "

    ");  
  31.            out.print("

    "+"邮箱:"+request.getParameter("email")+"

    ");  

  32.            out.print("

    "+"昵称:"+request.getParameter("nickname")+"

    ");  

  33.            out.print("

    "+"密码:"+request.getParameter("password")+"

    ");  

  34.            out.print("

    "+"性别:"+request.getParameter("sex")+"

    ");  

  35.            out.print("

    "+"个人介绍:"+request.getParameter("introduction")+"

    ");  

  36.            out.print("");  
  37.            out.print("");  
  38.       }  

运行结果:

解决方法:在doPost中加入:

 
 
 
 
  1. response.setContentType("text/html; charset=gb2312"); 

分享名称:常见JSP中文乱码例子及其解决方法
链接分享:http://www.gawzjz.com/qtweb/news21/171221.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联