亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        解決JSP/Servlet開發(fā)中的中文亂碼問題

        2011-09-23 03:43:26
        科技傳播 2011年1期
        關鍵詞:字符集亂碼表單

        肖 英

        1.武漢軟件工程職業(yè)學院,湖北武漢 430205 2.武漢市廣播電視大學,湖北武漢 430033

        解決JSP/Servlet開發(fā)中的中文亂碼問題

        肖 英1,2

        1.武漢軟件工程職業(yè)學院,湖北武漢 430205 2.武漢市廣播電視大學,湖北武漢 430033

        基于JSP/Servlet技術的Java Web應用開發(fā)中,中文亂碼是個惱人的問題,給開發(fā)者帶來不小的麻煩,本文就著重討論了JSP/Servlet開發(fā)中幾種典型的中文亂碼問題,并給出了相應的解決方案。

        JSP/Servlet;中文亂碼

        0 引言

        基于JSP/Servlet技術的Java Web應用開發(fā)中,中文亂碼是個如影隨形的問題,總是揮之不去,對于Java Web應用開發(fā)的初學者造成不少的困擾。Java Web應用是由多種Web組件協(xié)同合作的,同時還需要瀏覽器和數(shù)據(jù)庫的支持,中文亂碼問題產生的根源就在于這些Web組件之間、或web組件與瀏覽器、與數(shù)據(jù)庫所使用的字符集標準不統(tǒng)一。因此,要解決中文亂碼,其基本原則就是:保持數(shù)據(jù)傳輸?shù)钠瘘c、終點、傳輸通道上的編碼一致。

        1 幾種典型亂碼情形解決方案

        下面分幾種常見的情形給出中文亂碼的解決方案,這些解決方案統(tǒng)一使用UTF-8作為編碼字符集。

        1.1 瀏覽器顯示中文時的亂碼

        瀏覽器在顯示JSP頁面時,若頁面含中文內容,可能會出現(xiàn)中文亂碼,其原因是:JSP頁面與瀏覽器的字符集不匹配。

        解決方案:讓JSP頁面與瀏覽器使用統(tǒng)一的編碼字符集。可在JSP中使用如下代碼實現(xiàn):<%@page pageEncoding="utf-8"

        contentType="text/html;charset=utf-8"%>

        其中,pageEncoding="utf-8"代表JSP使用utf-8字符集,contentType="text/html;charset=utf-8"代表瀏覽器使用utf-8字符集解釋收到的數(shù)據(jù)。

        若是從Servlet向瀏覽器輸出內容,可在Servlet中使用如下代碼使瀏覽器采用utf-8編碼進行顯示:

        response.setContentType("text/html;charset=utf-8");

        PrintWriter out = response.getWriter();

        out.println("中文!");

        1.2 獲取表單中文參數(shù)時的亂碼

        對于<form>表單,在JSP/Servlet中可采用request.getParameter(“參數(shù)名”)來獲取參數(shù)值,但若不做適當處理,表單參數(shù)值為中文時就會發(fā)生亂碼問題。這是因為,<form>表單參數(shù)使用post方式提交時,是通過request對象傳輸?shù)?,且Tomcat對其的編碼方式是iso-8859-1,當表單頁和獲取表單的組件不是采用與之相同的字符集時就會出現(xiàn)亂碼了。

        解決方案:讓表單頁、封裝表單數(shù)據(jù)的request對象和接收表單數(shù)據(jù)的組件采用統(tǒng)一的編碼字符集。假定表單頁為index.jsp,接收表單頁為receive.jsp,則具體如下:

        若接收表單的是Servlet,則在Servlet中,取表單參數(shù)值之前先使用request.setCharacterEncoding("utf-8") 進行轉碼即可。

        1.3 進行數(shù)據(jù)庫操作時的亂碼

        這里數(shù)據(jù)庫以MySQL為例進行討論。當JSP/Servlet要與數(shù)據(jù)庫進行交互時,若JSP/Servlet、傳輸通道、數(shù)據(jù)庫三者采用的編碼字符集不一致也會導致亂碼問題的出現(xiàn)。傳輸通道是指:JSP/ Servlet連接數(shù)據(jù)庫的連接對象。

        解決方案:

        第一步:確定JSP/Servlet采用utf-8編碼,要寫至數(shù)據(jù)庫的中文數(shù)據(jù)正常,若數(shù)據(jù)來自表單,則參考1.2正確取到中文參數(shù)值。

        第二步:確定數(shù)據(jù)庫采用utf-8編碼。對于MySQL而言,可以使用其配置向導設置數(shù)據(jù)庫采用utf-8作為默認字符集;創(chuàng)建表時,對于允許中文的字段,設字段的字符集為utf-8。

        第三步:連接MySQL數(shù)據(jù)庫的連接對象上設置字符集為utf-8。假設數(shù)據(jù)庫名為db1,則獲取連接的數(shù)據(jù)庫URL如下:jdbc:mysql://localhost:3306/db1?user=root&password=123456

        &useUnicode=true&characterEncoding=utf8

        其中,useUnicode=true&characterEncoding=utf8為關鍵代碼,表示連接對象(即數(shù)據(jù)的傳輸通道)采用utf-8編碼字符集。

        2 結論

        JSP/Servlet開發(fā)Java Web應用時的中文亂碼問題雖然惱人,但只要把握住解決問題的基本原則:保持數(shù)據(jù)傳輸?shù)钠瘘c、終點、傳輸通道上的編碼一致,在出現(xiàn)中文亂碼后仔細檢查各處的編碼字符集是否一致并即時予以糾正,相信初學者也能很好地解決中文亂碼問題了。

        [1]孫衛(wèi)琴.Tomcat與Java Web開發(fā)技術詳解[M].電子工業(yè)出版社,2005,8.

        [2]王國輝,等.JSP數(shù)據(jù)庫系統(tǒng)開發(fā)完全手冊[M].人民郵電出版社,2006,3.

        TP39

        A

        1674-6708(2011)34-0193-01

        肖英,講師,工作單位:武漢軟件工程職業(yè)學院軟件技術系,研究方向:軟件開發(fā)

        猜你喜歡
        字符集亂碼表單
        電子表單系統(tǒng)應用分析
        華東科技(2021年9期)2021-09-23 02:15:24
        這些真的不是亂碼,是漢字
        MySQL數(shù)據(jù)庫字符集的問題研究
        ORACLE字符集問題的分析
        淺談網頁制作中表單的教學
        ORACLE數(shù)據(jù)庫字符集問題及解決方法
        醫(yī)院信息系統(tǒng)Oracle數(shù)據(jù)庫中導入數(shù)據(jù)中文亂碼的解決技術
        炫邁:用神奇亂碼勾引你視線
        基于Infopath實現(xiàn)WEB動態(tài)表單的研究
        電子世界(2012年24期)2012-12-17 10:49:06
        動態(tài)表單技術在教學管理中的應用*
        jlzzjlzz全部女高潮| 亚洲三级中文字幕乱码| 日产分东风日产还有什么日产| 高潮内射主播自拍一区| 国产内射爽爽大片| 无码中文亚洲av影音先锋| a级毛片内射免费视频| 91av国产视频| 音影先锋色天堂av电影妓女久久| 精品人妻中文字幕一区二区三区 | 亚洲国产免费一区二区| 亚洲一区二区在线观看av| 高h小月被几个老头调教 | 久久免费精品视频老逼| 草青青在线视频免费观看| 加勒比一本heyzo高清视频| 国产成人vr精品a视频| 久久中文字幕无码一区二区| 亚洲成AV人片无码不卡| 丝袜美腿制服诱惑一区二区| 日本少妇高潮喷水xxxxxxx | 免费无码av一区二区| 午夜不卡av免费| 亚洲av不卡电影在线网址最新 | 日本成人久久| 亚洲性爱区免费视频一区| 日本一区二区三区免费| 男吃奶玩乳尖高潮视频| 精品亚洲成a人片在线观看| 比比资源先锋影音网| 欧美刺激午夜性久久久久久久| 黑丝美女喷水在线观看| 亚洲高清中文字幕视频| 亚洲人成网址在线播放| 亚洲视频毛片| 日本高清一区二区在线观看| 国产一区二区免费在线视频| 精品久久久久久无码专区| 亚洲色无码播放| 人妻爽综合网| 中文字幕中文字幕777|