天天看點

J2EE開發中文解決方案一、所有檔案的檔案原始編碼統一為utf-8二、具體檔案編碼格式設定三、開發工具編碼設定四、常見問題的解決方案

為了防止J2EE開發工作中出現不必要的中文亂碼問題,通常我們在系統剛開始搭建時,對整個系統中的編碼進行統一規範。

我們以utf-8為例(以下操作必須是在中文正常顯示時執行):

一、所有檔案的檔案原始編碼統一為utf-8

檔案儲存時,用記事本或EditPlus等工具對檔案進行另存為操作,并指定編碼方式為utf-8。

二、具體檔案編碼格式設定

   1.xml檔案格式

<?xml version="1.0" encoding="UTF-8"?>

   2.jsp檔案格式

<%@ page language="java" contentType="text/html;charset=utf-8"%>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

   3.html檔案格式

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

三、開發工具編碼設定

   1.Eclipse

1.1 檔案編碼

在左側的樹狀圖中,單擊相關的檔案,右擊 -> 屬性 -> 文本檔案編碼 -> utf-8

或者單擊打開檔案,選擇編輯菜單 -> 設定檔案編碼 -> utf-8

1.2 視窗編碼

設定預設編碼:視窗 -> 首選項 -> 正常 -> 編輯器 -> 文本檔案編碼 -> utf-8

1.3 檔案夾編碼

說明:用于此檔案夾下建立的檔案對編碼格式進行繼承

在左側的樹狀圖中,單擊相關的檔案夾,右擊 -> 屬性 -> 文本檔案編碼 -> utf-8

2.Dreamweaver

2.1 建立文檔的預設編碼

編輯 -> 首選參數 -> 建立文檔 –> 預設編碼 -> utf-8

2.2 頁面顯示中的編碼

對于jsp或html檔案,Dreamweaver會依據page指令或mata參數中指定的字元集進行解碼。如果檔案在DW中顯示不正常,請修改此處的字元集,但必須是用能夠正常顯示的工具修改。建議用EditPlus.

3. EditPlus

EditPlus通常會根據檔案的原始編碼載入檔案,如果中文顯示不正常,可執行以下操作:

文檔—->使用其它編碼重新載入. 分别切換相應的編碼,直到正常為止。然後再改用utf-8另存為。

四、常見問題的解決方案

1. 與CVS伺服器同步後,進行檔案比較時,本地檔案中文正常,而遠端檔案顯示亂碼

原因及方案:其實此時本地檔案與遠端檔案的編碼方式是一樣的,隻是Eclipse在比較這兩個檔案時采用的不是同一種編碼方式。對于Eclipse的這種處理方式,我覺得不可了解。那麼,比較檔案時,Eclipse到底是分别用的哪些編碼呢?通過反複測試,得到以下結論:對于本地檔案,Eclipse用的是本文1.1 檔案編碼中設定的編碼;而對于遠端檔案,首選項中的兩個地方的配置決定了Eclipse的編碼處理方式,首先是内容類型 -- Java源檔案,預設情況下,預設編碼為空。參見下圖。

(在上圖中,我們修改了預設編碼,為UTF-8)。

當預設編碼為空時,Eclipse會讀取1.2 視窗編碼 中的配置。

有人會說,這還不簡單,全部改成UTF-8不行了!的确,一般情況下這樣配置是沒有問題的。但如果是下面的這個問題,這樣配置就會有問題了。

2. 檔案名中含有中文的Word文檔通過CVS送出不了

Word文檔是Unicode編碼,Windows下面的目錄名和檔案名也是用Unicode編碼的,而Unicode與UTF-8并不完全相容。 于是,當我們把代碼統一用UTF-8的,這種含有中文的Word文檔自然就通過不了。

解決方案:最簡單的當然是不用中文對Word命名,如果一定要用中文,那麼我們把内容類型中java源檔案改為UTF-8, 而在1.2 視窗編碼 中設定為GBK就OK了。