自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何解決JSP頁面顯示亂碼問題

開發(fā) 后端
本文介紹JSP頁面經(jīng)常出現(xiàn)中文亂碼的問題,可能一至困擾著您,我現(xiàn)在把我在JSP開發(fā)中遇到的中文亂碼的問題及解決辦法寫出來供大家參考。

一、JSP頁面顯示亂碼

下面的顯示JSP頁面(display.jsp)就出現(xiàn)亂碼:

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

對不同的WEB服務(wù)器和不同的JDK版本,處理結(jié)果就不一樣。原因:服務(wù)器使用的編碼方式不同和瀏覽器對不同的字符顯示結(jié)果不同而導(dǎo)致的。解決辦法:在JSP頁面中指定編碼方式(gb2312),即在頁面的***行加上:

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

就可以消除亂碼了。完整頁面如下:

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

二、表單提交中文時出現(xiàn)亂碼

下面是一個提交頁面(submit.jsp),代碼如下:

  1. <html>   
  2. <head>   
  3. <title>JSP的中文處理</title>   
  4. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">   
  5. </head>   
  6. <body>   
  7. <form name="form1" method="post" action="process.jsp">   
  8. <div align="center">   
  9. <input type="text" name="name">   
  10. <input type="submit" name="Submit" value="Submit">   
  11. </div>   
  12. </form>   
  13. </body>   
  14. </html> 

下面是處理頁面(process.jsp)代碼:

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

如果submit.jsp提交英文字符能正確顯示,如果提交中文時就會出現(xiàn)亂碼。原因:瀏覽器默認(rèn)使用UTF-8編碼方式來發(fā)送請求,而UTF-8和GB2312編碼方式表示字符時不一樣,這樣就出現(xiàn)了不能識別字符。解決辦法:通過request.seCharacterEncoding("gb2312")對請求進(jìn)行統(tǒng)一編碼,就實(shí)現(xiàn)了中文的正常顯示。修改后的process.jsp代碼如下:

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

三、數(shù)據(jù)庫連接出現(xiàn)亂碼

只要涉及中文的地方全部是亂碼,解決辦法:在數(shù)據(jù)庫的數(shù)據(jù)庫URL中加上useUnicode=true&characterEncoding=GBK就OK了。

四、數(shù)據(jù)庫的顯示亂碼

在mysql4.1.0中,varchar類型,text類型就會出現(xiàn)中文亂碼,對于varchar類型把它設(shè)為binary屬性就可以解決中文問題,對于text類型就要用一個編碼轉(zhuǎn)換類來處理,實(shí)現(xiàn)如下:

  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";   

以上是開發(fā)過程中,JSP頁面經(jīng)常出現(xiàn)中文亂碼的問題,可能一至困擾著您,我現(xiàn)在把我在JSP開發(fā)中遇到的中文亂碼的問題及解決辦法寫出來供大家參考。

【編輯推薦】

  1. JSP連接ORACLE數(shù)據(jù)庫時注意的一些問題
  2. JSP中tomcat的SQL Server2000數(shù)據(jù)庫連接池的配置
  3. 簡單介紹Servlets和JSP的區(qū)別
  4. JSP include指令和include行為的區(qū)別
  5. JSP輸出excel文檔和中文亂碼問題的解決
責(zé)任編輯:佚名 來源: builder
相關(guān)推薦

2009-07-07 18:20:54

JSP頁面顯示亂碼

2009-07-06 17:50:13

Java JSP

2009-07-07 13:42:57

Servlet JSP

2017-08-02 15:51:24

PHP中文亂碼

2011-08-08 10:29:12

MySQL

2012-06-19 14:35:24

JSPJava亂碼

2009-07-01 18:14:36

JSP亂碼

2010-10-08 11:41:38

PHP連接MYSQL

2015-04-01 10:26:32

開發(fā)中文亂碼問題

2012-09-05 11:09:15

SELinux操作系統(tǒng)

2010-04-29 17:46:31

Oracle死鎖

2009-07-01 18:05:54

JSP中文亂碼

2009-07-02 13:26:32

JSP中文亂碼

2009-06-30 13:49:21

excel文檔Jsp

2017-10-17 09:21:06

2023-10-30 18:35:47

MySQL主從延時

2011-08-29 10:34:00

網(wǎng)絡(luò)安全云安全云計算

2011-03-23 14:42:47

CPU過度消耗

2021-06-06 13:05:15

前端跨域CORS

2010-07-16 13:52:26

telnet漏洞
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號