蔡群英 黃鎮(zhèn)建
摘要:在J2EE教學(xué)中,學(xué)生在項(xiàng)目開發(fā)過程中經(jīng)常會碰到中文亂碼,該文從web的工作原理,各個階段涉及到的編碼,以及如何進(jìn)行編碼設(shè)置展開論述,以解答學(xué)生的困惑。
關(guān)鍵詞:J2EE;中文亂碼;編碼
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)17-4067-02
Solution about Chinese Disorderly Code in J2EE teaching
CAI Qun-ying1, HUANG Zhen-jian2
(1.Computer Science andEngineeringDepartmentof Hanshan Normal University, Chaozhou 521000, China; 2.Physics and Electronic Engineering Department of Hanshan Normal University, Chaozhou 521000, China)
Abstract: In J2EE teaching,students often encounter Chinese disorderlycode in their project developement.This paper describes the working principle of Web,and character encoding in all stages,and how to encode,to answer the confusion of students.
Key words: J2EE; Chinesedisorderlycode; characterencoding
1 概述
在J2EE教學(xué)中,學(xué)生在項(xiàng)目開發(fā)過程經(jīng)常會碰到中文亂碼的問題,比如他們編寫的表單,提交到服務(wù)器,執(zhí)行后返回的頁面有些中文能正常顯示,而有些卻出現(xiàn)亂碼。這樣的問題使他們感到很困惑,對編碼的設(shè)置感到很混亂。該文從web的工作原理,各個階段涉及到的編碼,以及如何進(jìn)行編碼設(shè)置進(jìn)行論述。該文所討論的環(huán)境是Winxp,Jdk1.6,Tomcat6.0,Myeclipse6.0。
2 Web的工作原理
在J2EE應(yīng)用系統(tǒng)中,包括客戶端、web服務(wù)器和數(shù)據(jù)庫。在客戶端瀏覽器默認(rèn)的編碼是utf-8[1],web服務(wù)器(tomcat)默認(rèn)的編碼是ISO-8859-1,數(shù)據(jù)庫的編碼默認(rèn)是latin-1,在安裝時可以進(jìn)行修改。Web的工作原理如圖1所示[2]:客戶端通過瀏覽器的地址欄發(fā)送一個請求,服務(wù)器端接收請求,執(zhí)行代碼,如果涉及到數(shù)據(jù)庫,就訪問數(shù)據(jù)庫,執(zhí)行結(jié)果再通過web服務(wù)器以html的形式返回給客戶端。
在這個過程中,數(shù)據(jù)的傳送需要request和response對象,表單中的數(shù)據(jù)通過request對象封裝發(fā)送給服務(wù)器端,所以可以通過request.getParameter(“”)來取得表單元素的值,服務(wù)器端返回?cái)?shù)據(jù)給客戶端要通過response對象。
3 中文亂碼的解決辦法
3.1 靜態(tài)內(nèi)容的編碼
一個jsp頁面包含有靜態(tài)的內(nèi)容和動態(tài)的內(nèi)容,靜態(tài)內(nèi)容的編碼通過jsp文件頭語句來設(shè)置,這樣就保證了頁面中靜態(tài)內(nèi)容的正常顯示。
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%>
3.2 表單元素的編碼……p>