周兵
摘要:在進行Java Web開發(fā)的過程中,由于采用的編碼和解碼的方式不統(tǒng)一,經(jīng)常會出現(xiàn)亂碼問題。文中首先介紹了Java Web的編碼機制及JSP運行原理,繼而闡述了在開發(fā)過程中常見的亂碼問題及解決方案,最后提出采用過濾器重寫getParameter方法,實現(xiàn)了對采用get方式、post方式和URL提交數(shù)據(jù)的統(tǒng)一解決方案,從而使開發(fā)人員更方便的解決亂碼問題。
關(guān)鍵詞:字符編碼;中文亂碼; Java Web;過濾器
中圖分類號:TP31 文獻標識碼:A 文章編號:1009-3044(2014)29-6884-05
Abstract: During the process of Java Web development, as a result of the encoding and decoding methods are not unified, often appear problem. This paper first introduces the encoding scheme and JSP operation principle of Java Web, and then the problem is common in the development process and the solution, and finally puts forward the filter overrides the getParameter method to realize the get mode, post mode and URL submit data integration solutions, so as to enable developers to more easily to solve the problem.
Key words: character encoding; Chinese characters; Java Web; filte
Java Web是利用Java技術(shù)來解決相關(guān)Web互聯(lián)網(wǎng)領(lǐng)域的技術(shù)。在進行Java Web應(yīng)用程序開發(fā)的過程中,經(jīng)常會遇到在頁面中本該顯示中文的地方卻顯示的是亂碼,究其原因主要是組件與組件之間、組件與瀏覽器之間、組件與數(shù)據(jù)庫之間等采用的編碼方式不統(tǒng)一。在應(yīng)用程序運行的過程中,只要涉及到中文的地方往往要進行多次字符編碼的轉(zhuǎn)換才能正常的顯示,而在轉(zhuǎn)換的過程中只要編碼方式設(shè)置錯誤就會導(dǎo)致中文亂碼。該文主要從Java的常見編碼和JSP的運行原理出發(fā),詳細的介紹了在進行Java Web開發(fā)過程中的常見中文亂碼及解決方案。
1 Java中字符編碼規(guī)則
1) ISO8859-1編碼,通常也叫Latin-1或西歐語言,屬于單字節(jié)編碼,最多能表示的字符范圍是0~255,應(yīng)用于英文系列,是Java網(wǎng)絡(luò)傳輸使用的標準字符集。
2) GB2312/GBK編碼是中國國家標準漢字信息交換編碼,專門用來表示漢字,GBK是對GB2312的擴充,采用雙字節(jié)編碼,可以同時兼容繁體字和簡體字,而GB2312只能表示簡體字,GBK是兼容GB2312編碼的。
3) Unicode編碼,可以用來表示所有語言的字符,屬于最統(tǒng)一的編碼[8]。……