熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

常見JSP中文亂碼例子及其解決方法

2013-11-15 12:16:37  來源: JSP教程 

  JSP開發應用是中文亂碼是個比較常見的問題其根源是Web容器默認的字符處理編碼是ISO

  實例一JSP頁面顯示時

  

  1. <html> 
  2.     <head> 
  3.        <title>中文亂碼——JSP頁面顯示時</title> 
  4.     </head> 
  5.     <body> 
  6.        <center> 
  7.            <br/> 
  8.            <h>木蘭辭擬古決絕詞柬友</h
  9.            <p>人生若只如初見何事秋風悲畫扇</p> 
  10.        <p>等閒變卻故人心卻道故人心易變</p> 
  11.        <p>骊山語罷清宵半淚雨霖鈴終不怨</p> 
  12.        <p>何如薄幸錦衣郎比翼連枝當日願</p> 
  13.        </center> 
  14.     </body> 
  15. </html> 

  運行結果

  

  解決方法為其指定中文字符集<html>前加入

  

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

  實例二JSP頁面傳遞中文參數時

  注冊頁面

  

  1. <%@ page contentType="text/html;charset=gb" %> 
  2. <html> 
  3.     <head> 
  4.        <title>中文亂碼——JSP頁面傳遞中文參數時</title> 
  5.     </head> 
  6.     <body> 
  7.        <h>申請賬號</h
  8.        <form action="userMsgjsp" method="POST"> 
  9.            <p>郵箱&nbsp;<input type="text"name="email" id="email"/><p/> 
  10.            <p>昵稱&nbsp;<input type="text"name="nickname" id="nickname"/><p/> 
  11.  &n

  bsp;         <p>密碼&nbsp;<input type="password"name="password" id="password"/><p/> 

  •            <p>性別&nbsp;<input type="radio"name="sex" id="sex"value="男" /> 男  
  •                          <input type="radio" name="sex"id="sex" value="女" /> 女<p/> 
  •            <textarea  name="introduction"id="introduction" rows="" cols="">一句話介紹自己</textarea> 
  •            <p><input type="submit"value="提交申請"></p> 
  •        </form> 
  •     </body> 
  • </html> 

  個人信息頁面

  

  1. <%@ page contentType="text/html;charset=gb" %> 
  2. <html> 
  3.     <head> 
  4.        <title>中文亂碼——JSP頁面傳遞中文參數時 </title> 
  5.     </head> 
  6.     <body> 
  7.        <center> 
  8.            <h>用戶信息</h
  9.            <% String email = requestgetParameter("email"); %> 
  10.            <% String nickname = requestgetParameter("nickname"); %> 
  11.            <% String password = requestgetParameter("password"); %> 
  12.            <% String sex = requestgetParameter("sex"); %> 
  13.            <% String introduction = requestgetParameter("introduction");%> 
  14.            <p>郵箱&nbsp;<

  ;% outprint(email); %><p/> 

  •            <p>昵稱&nbsp;<% outprint(nickname); %><p/> 
  •            <p>密碼&nbsp;<% outprint(password); %><p/> 
  •            <p>性別&nbsp;<% outprint(sex); %><p/> 
  •            <p>個人介紹<%outprint(introduction); %></p> 
  •        </center> 
  •     </body> 
  • </html> 

  運行結果

  

  解決方法修改個人信息頁面如下

  

  1. <%@ page contentType="text/html;charset=gb" %> 
  2. <html> 
  3.     <head> 
  4.        <title>中文亂碼——JSP頁面傳遞中文參數時 </title> 
  5.     </head> 
  6.     <body> 
  7.        <h>用戶信息</h
  8.        <% String email = newString(requestgetParameter("email")getBytes("ISO") "gb");%> 
  9.        <% String nickname = newString(requestgetParameter("nickname")getBytes("ISO") "gb");%> 
  10.        <% String password = newString(requestgetParameter("password")getBytes("ISO") "gb");%> 
  11.        <% String sex = newString(requestgetParameter("sex")getBytes("ISO") "gb");;%> 
  12.        <% String introduction = newString(requestgetParameter("introduction")getBytes("ISO") "gb");;%> 
  13.        <p>郵箱 <% outprint(email); %><p/> 
  14.        &

  
lt;p>昵稱 <% outprint(nickname); %><p/> 

  •        <p>密碼 <% outprint(password); %><p/> 
  •        <p>性別 <% outprint(sex); %><p/> 
  •        <p>個人介紹<%outprint(introduction); %></p> 
  •     </body> 
  • </html> 

  實例三Servlet處理中文參數時

  注冊頁面

  

  1. <%@ page contentType="text/html;charset=gb" %> 
  2. <%@ page import="testUserMsg"%> 
  3. <html> 
  4.     <head> 
  5.        <title>中文亂碼——JSP頁面傳遞中文參數時</title> 
  6.     </head> 
  7.     <body> 
  8.        <h>申請賬號</h
  9.        <form action="/UserMsg" method="POST"> 
  10.            <p>郵箱 <input type="text"name="email" id="email"/><p/> 
  11.            <p>昵稱 <input type="text"name="nickname" id="nickname"/><p/> 
  12.            <p>密碼 <input type="password"name="password" id="password"/><p/> 
  13.            <p>性別 <input type="radio"name="sex" id="sex"value="男" /> 男  
  14.                          <input type="radio" name="sex"id="sex" value="女" /> 女<p/> 
  15.            <textarea  name="introduction"id="introduction" rows="" cols="">一句話介紹自己</textarea> 
  16.            <p><input type="submit"value="提交申請"></p> 
  17.      &nb

  
sp; </form> 

  •     </body> 
  • </html> 

  UserMsgjava(Servlet)

  

  1. package test;  
  2.    
  3. importjavaioIOException;  
  4. importjavaioPrintWriter;  
  5. importjavaioUnsupportedEncodingException;  
  6.    
  7. importjavaxservlet
  8. importjavaxservlet
  9. importjavaxservlet
  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.                  requestsetCharacterEncoding("gb");  
  19.            } catch (UnsupportedEncodingExceptione) {  
  20.                  eprintStackTrace();  
  21.            }  
  22.            PrintWriter out = null;  
  23.            try {  
  24.                  out = responsegetWriter();  
  25.            } catch (IOException e) {  
  26.                  eprintStackTrace();  
  27.            }  
  28.            outprint("<html>");  
  29.    &nbs

  
p;       outprint("<body>");  

  •            outprint("<h>" +"用戶信息"+ "</h>");  
  •            outprint("<p>"+"郵箱"+requestgetParameter("email")+"<p/>");  
  •            outprint("<p>"+"昵稱"+requestgetParameter("nickname")+"<p/>");  
  •            outprint("<p>"+"密碼"+requestgetParameter("password")+"<p/>");  
  •            outprint("<p>"+"性別"+requestgetParameter("sex")+"<p/>");  
  •            outprint("<p>"+"個人介紹"+requestgetParameter("introduction")+"<p/>");  
  •            outprint("</html>");  
  •            outprint("</body>");  
  •       }  

  運行結果

  

  解決方法在doPost中加入

  

  1. responsesetContentType("text/html; charset=gb"); 


From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20624.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.