999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2011-09-23 03:43:26
科技傳播 2011年1期
關(guān)鍵詞:解決方案數(shù)據(jù)庫

肖 英

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

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

肖 英1,2

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

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

JSP/Servlet;中文亂碼

0 引言

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

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

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

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

瀏覽器在顯示JSP頁面時,若頁面含中文內(nèi)容,可能會出現(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向瀏覽器輸出內(nèi)容,可在Servlet中使用如下代碼使瀏覽器采用utf-8編碼進(jìn)行顯示:

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

PrintWriter out = response.getWriter();

out.println("中文!");

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

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

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

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

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

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

解決方案:

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

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

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

&useUnicode=true&characterEncoding=utf8

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

2 結(jié)論

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

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

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

TP39

A

1674-6708(2011)34-0193-01

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

猜你喜歡
解決方案數(shù)據(jù)庫
艾默生自動化解決方案
解決方案和折中方案
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
數(shù)據(jù)庫
財經(jīng)(2016年6期)2016-02-24 07:41:51
4G LTE室內(nèi)覆蓋解決方案探討
7大睡眠問題解決方案
母子健康(2015年1期)2015-02-28 11:21:44
Moxa 802.11n WLAN解決方案AWK-1131A系列
主站蜘蛛池模板: 啦啦啦网站在线观看a毛片| 强奷白丝美女在线观看| 欧美日韩成人| www.精品视频| 中文成人在线视频| 人人艹人人爽| 国产高清免费午夜在线视频| 国产成年无码AⅤ片在线| 高清国产va日韩亚洲免费午夜电影| 999在线免费视频| 欧洲熟妇精品视频| 亚洲一区二区精品无码久久久| 亚洲婷婷六月| 免费又黄又爽又猛大片午夜| 欧美在线网| 久久综合成人| 亚洲第一视频网| 91欧美亚洲国产五月天| 色九九视频| 免费看美女自慰的网站| 久久久久88色偷偷| 亚洲精品另类| 国产亚洲精品91| 香蕉国产精品视频| 欧美亚洲第一页| 欧美色伊人| 成人午夜网址| 国产小视频在线高清播放| 亚洲永久色| 亚洲综合天堂网| AV片亚洲国产男人的天堂| 波多野衣结在线精品二区| 色综合久久久久8天国| 色老头综合网| 黄色三级网站免费| 亚洲三级电影在线播放| 在线国产综合一区二区三区| 国产丝袜91| 亚洲娇小与黑人巨大交| 91精品aⅴ无码中文字字幕蜜桃 | 日本道综合一本久久久88| 最新精品国偷自产在线| 美女一级免费毛片| 中文字幕永久在线观看| 午夜国产不卡在线观看视频| 五月天福利视频| 国产情侣一区| 国内丰满少妇猛烈精品播| 香蕉视频在线观看www| 国产剧情国内精品原创| 青青草国产免费国产| 国产亚洲第一页| 亚洲国产日韩视频观看| 九色在线观看视频| 亚洲综合狠狠| 成人午夜天| AV片亚洲国产男人的天堂| 五月天丁香婷婷综合久久| 五月婷婷欧美| 中国黄色一级视频| 国产一线在线| 美臀人妻中出中文字幕在线| 91啦中文字幕| 国产男女免费完整版视频| 天堂成人在线视频| 99久久亚洲综合精品TS| 久久狠狠色噜噜狠狠狠狠97视色| 97精品国产高清久久久久蜜芽| 欧美日韩第三页| 天天躁狠狠躁| 国产成人区在线观看视频| 毛片网站观看| 国产亚洲日韩av在线| 免费在线国产一区二区三区精品| 欧美激情第一欧美在线| 亚洲高清在线天堂精品| 久久精品免费国产大片| 午夜性刺激在线观看免费| 国产一区二区福利| 亚洲天堂视频在线观看免费| 黄色在线不卡| a欧美在线|