• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    試論JSP技術(shù)中文亂碼的原因及解決方法

    2016-07-06 23:52:23曹亮
    科技尚品 2016年6期
    關(guān)鍵詞:解決方法

    曹亮

    摘 要:JSP技術(shù)是動(dòng)態(tài)網(wǎng)頁(yè)制作的關(guān)鍵,也是現(xiàn)今主流的動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)。在網(wǎng)頁(yè)的設(shè)計(jì)和開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)出現(xiàn)一些中文亂碼的問(wèn)題,嚴(yán)重影響動(dòng)態(tài)網(wǎng)頁(yè)的開(kāi)發(fā)和使用。所以本文先分析了常見(jiàn)的中文編碼格式,然后從4個(gè)方面詳細(xì)闡述了中文亂碼的問(wèn)題及解決方法。

    關(guān)鍵詞:JSP技術(shù);中文亂碼;原因;解決方法

    由于在動(dòng)態(tài)網(wǎng)頁(yè)制作中,中文主要是利用特殊的字符編碼方式,因此在網(wǎng)頁(yè)制作中很容易產(chǎn)生亂碼問(wèn)題。利用JSP技術(shù)開(kāi)發(fā)的WEB平臺(tái)在任何一個(gè)操作系統(tǒng)之上都能使用,中文亂碼會(huì)給設(shè)計(jì)人員造成很大的困擾。由此可見(jiàn),解決中文亂碼問(wèn)題是JSP技術(shù)開(kāi)發(fā)動(dòng)態(tài)網(wǎng)頁(yè)必須解決的重要問(wèn)題。

    1 常見(jiàn)編碼格式

    (1)ISO-8859-1編碼,也稱(chēng)之為L(zhǎng)atin-1編碼。ASCII 編碼的128個(gè)字符顯然是不夠用的,因此ISO組織在此基礎(chǔ)上進(jìn)行了拓展,從 ISO-8859-1到ISO-8859-15,應(yīng)用最廣泛的是ISO-8859-1,主要因?yàn)镮SO-8859-1是單字節(jié)編碼。

    (2)Unicode編碼。Unicode是目前最統(tǒng)一的編碼格式,但是它卻不兼容其他任何編碼格式。另外,通常所說(shuō)的UTF-16,就是Unicode字符在計(jì)算機(jī)中存取的方法。

    (3)GBK編碼。它是GB2312的拓展,總共含有23 940 個(gè)碼位,能表示21 003個(gè)漢字,并且它與 GB2312編碼格式兼容。

    (4)UTF-8。它的主要原理是通過(guò)變長(zhǎng)技術(shù),使不同類(lèi)型的字符能夠由1~6個(gè)字節(jié)組成。

    2 亂碼問(wèn)題及解決對(duì)策

    中文亂碼問(wèn)題一般會(huì)出現(xiàn)兩種情況:一是在HTML中,二是在JSP動(dòng)態(tài)輸出中。造成中文亂碼的原因有多種,只有深入分析找到亂碼的位置和原因,才能解決問(wèn)題,提高動(dòng)態(tài)網(wǎng)頁(yè)制作效率。

    2.1 頁(yè)面亂碼問(wèn)題

    如果在進(jìn)行程序調(diào)試時(shí),在顯示界面該出現(xiàn)中文的地方,顯示的是字符或問(wèn)號(hào)。對(duì)這種情況的解決方案是,在jsp頁(yè)面的頭部加入以下代碼<%pagecontentType=”text/html;charset=gb2312”%>,如下列的程序:

    <%@ page language=”java” import=”java.util.*” %>

    中文顯示示例

    這是一個(gè)中文顯示示例:

    <%

    String str = “中文”;

    out.print(str);

    %>

    經(jīng)過(guò)瀏覽器顯示之后,本該出現(xiàn)中文顯示示例的中文字符,結(jié)果卻顯示了“? ? ? ?? ? ???? ? ?”這種符號(hào),在處理這種中文亂碼問(wèn)題時(shí),可以將jsp頭部改成<%@ page language=”java”import=”java.util.*”contentType=”text/html;charset=GB2312” %> 這樣中文漢字即可正常顯示。

    2.2 參數(shù)傳遞時(shí)出現(xiàn)亂碼問(wèn)題

    參數(shù)傳遞時(shí)出現(xiàn)亂碼問(wèn)題,只要在傳遞參數(shù)時(shí),進(jìn)行編碼轉(zhuǎn)換就可以解決。具體代碼為<%String str=newString(request.getParameter(“str”).getBytes(“iso-8859-1”),”gb2312”);%>。

    如下列程序:

    <%@ page language=”java” import=”java.util.*” contentType=”text/html;charset=gb2312”%>

    URL傳遞參數(shù)中文處理示例

    <%

    String param = request.getParameter(“param”);

    %>

    請(qǐng)點(diǎn)擊這個(gè)鏈接

    你提交的參數(shù)為:<%=param%>

    在程序運(yùn)行之后,有時(shí)會(huì)顯示提交的參數(shù)為???。這種亂碼在動(dòng)態(tài)網(wǎng)頁(yè)的設(shè)計(jì)開(kāi)發(fā)中經(jīng)常會(huì)發(fā)生。其解決方法是,在原來(lái)代碼中添加URI編碼設(shè)置URIEncoding=“gb2312”。這樣在進(jìn)行程序運(yùn)行之后,就能夠顯示正常的參數(shù)。

    2.3 表單亂碼問(wèn)題

    表單問(wèn)題產(chǎn)生的主要原因是提交表單的方法程序并不支持中文字符,通常默認(rèn)的編碼格式是ISO-8859-1。一般解決這種問(wèn)題的方法是,在頁(yè)面中或是sevlet中以及在過(guò)濾時(shí)進(jìn)行解決,如設(shè)置 request 和 response 的編碼(頁(yè)面編碼必須為 u8),或者是添加

    屬性。無(wú)論是采用哪種解決方法,都需要程序員根據(jù)實(shí)際的程序來(lái)選擇。

    2.4 瀏覽器不識(shí)別問(wèn)題

    瀏覽器不識(shí)別問(wèn)題的主要表現(xiàn)就是在提交中文字符時(shí)出現(xiàn)亂碼問(wèn)題,而提交英文字符時(shí)則顯示正常。產(chǎn)生這種問(wèn)題的主要原因是瀏覽器默認(rèn)的編碼格式和程序編碼格式不兼容,瀏覽器無(wú)法識(shí)別中文字符。解決這種問(wèn)題只須通過(guò)request.setCharacterEncoding(“gb2312”)對(duì)請(qǐng)求進(jìn)行統(tǒng)一編碼即可。這樣經(jīng)過(guò)編碼格式的統(tǒng)一之后,中文字符就會(huì)正常顯示。

    3 總結(jié)

    綜上所述,中文亂碼產(chǎn)生的主要原因是編碼格式的不統(tǒng)一,并且編碼格式之間基本不兼容。另外,在處理中文亂碼問(wèn)題時(shí),找到亂碼問(wèn)題的原因是解決問(wèn)題的關(guān)鍵。由此可見(jiàn),深入了解JSP技術(shù)是非常有必要的。

    參考文獻(xiàn)

    [1]徐珊.JSP技術(shù)中的中文亂碼成因與對(duì)策探析[J].山東工業(yè)技術(shù),2015,(19):220.

    [2]梅錦峰,陽(yáng)小蘭,錢(qián)程,等.JSP初學(xué)者遇到的中文亂碼問(wèn)題及解決方案[J].黑龍江科技信息,2016,(4):180.

    (作者單位:哈爾濱市南崗房產(chǎn)經(jīng)營(yíng)物業(yè)管理有限責(zé)任公司第一分公司)

    猜你喜歡
    解決方法
    新形勢(shì)下基層科技檔案管理工作初探
    商情(2016年40期)2016-11-28 10:52:26
    新形勢(shì)下離退休干部服務(wù)管理工作的問(wèn)題與思考
    鋁沖裁廢料堵塞的原因與解決方法探究
    導(dǎo)學(xué)案在高中數(shù)學(xué)教學(xué)中存在的問(wèn)題及解決方法
    小學(xué)班主任在班級(jí)管理中存在的問(wèn)題和解決方法探究
    南北橋(2016年10期)2016-11-10 17:02:08
    小學(xué)數(shù)學(xué)教學(xué)中存在的問(wèn)題及其解決方法
    淺談我國(guó)現(xiàn)階段農(nóng)村經(jīng)濟(jì)管理
    農(nóng)村移動(dòng)網(wǎng)絡(luò)覆蓋探討
    針對(duì)回轉(zhuǎn)式空氣預(yù)熱器漏風(fēng)問(wèn)題解決方案的研究
    高職英語(yǔ)教學(xué)中存在的問(wèn)題與建議
    五大连池市| 婺源县| 永靖县| 海盐县| 章丘市| 乌兰察布市| 子洲县| 宿州市| 桑日县| 柘城县| 鄂伦春自治旗| 县级市| 吴江市| 新源县| 柳江县| 江门市| 威远县| 资中县| 四会市| 嵊泗县| 齐齐哈尔市| 新乡县| 万年县| 乡宁县| 德安县| 武威市| 高州市| 调兵山市| 资中县| 多伦县| 新蔡县| 新疆| 枞阳县| 祁东县| 铜陵市| 漠河县| 栾城县| 德清县| 丹棱县| 闻喜县| 五莲县|