eclipse中文顯示亂碼問題總結

2021-09-26 20:28:58 字數 1446 閱讀 1982

將外部原始檔匯入到eclipse工程後,經常遇到各種亂碼問題,究其原因主要是因為檔案本身的encoding type與eclipse用於開啟改檔案的編輯器所使用的encoding type不一致導致。那麼eclipse的編輯器到底是如何決定採用哪種encoding type編輯某乙個檔案呢?

我們需要知道編輯器當前是採用什麼encodingtype在編輯檔案,可以選中檔案右鍵property->resource看到:

這裡可能會出現三種情況:

1、 inherit from container

2、 determined from content type: ***

3、 determined from content: ***

那麼以上三種決定檔案encoding判定分別表示什麼意思呢?

1、全域性(windows->reference->general->workspace)

2、工程(project->property->resource)

3、檔案(選中檔案右鍵property->resource),可看到當前編輯器所使用的編碼格式

4、全域性檔案的content type(windows->reference->general->contesttype->default encoding)

1、2、3逐級繼承,這個比較容易理解,這裡不詳細介紹。

值得一提的是,在工具可設定的範圍內4優先順序是最高的,即如果設定了某型別檔案的content type的default encoding,那編輯器會優先根據該型別檔案設定的預設編碼格式來編輯檔案,而不管前面的1、2的設定。

此外還有一種情況,如果該檔案在檔案頭部攜帶乙個「編碼位元組序標識」(encoding bit order mark,簡寫為bom),eclipse編輯器會優先根據該標誌指定的encoding type來進行檔案編輯,這個是工具無法設定的。

以上5種情況簡單畫個圖就是如下所示:

檔案本身content(bom)優先順序最高,eclipse設定content type次之,繼承的優先順序最低;分別對應前面描述到的3\2\1三種檔案encoding判定方式。

至此,我們已經大致了解了eclipse編輯器如何判定檔案encoding type的方法,大部分亂碼的問題都可以找到解決之道了。

還要強調一點的是,從外部引入多個檔案,或者多人(使用不同編輯工具)開發的多個檔案,如果採用encoding 方式不一致,而且有些檔案帶bom,有些不帶,這種情況下,如果把這些檔案import到eclipse(或其他任一編輯器)的乙個工程內,會遇到很多編碼問題,而且往往找不到乙個簡單相容方式。所以最佳的方式是在工程啟動之時約定好encoding type和具體工具編碼相關配置。

ubuntu下Eclipse中文顯示亂碼的問題

工作環境剛切換到ubuntu系統下面,各個工具也正在熟悉和完善中。今天遇到eclipse顯示中文的時候顯示亂碼,檔案編碼找不到gbk編碼。ubuntu 預設採用utf8編碼,但對中文支援還不夠細緻,即便預設採用中文安裝,也並不會自動新增gb 等支援,致使在ubuntu下訪問部分windows文字檔案...

JSP中文亂碼問題(Eclipse)

預設已設定以下屬性為 utf 8 contenttype text html charset utf 8 的作用是指定伺服器響應給瀏覽器的編碼。pageencoding utf 8 的作用是設定jsp編譯成servlet時使用的編碼。從tomcat5.x開始,get和post方法提交的資訊,tomc...

ubuntu 中文顯示亂碼問題

ubuntu 中文顯示亂碼問題 分類 linux 新增中文字元編碼 sudo vim var lib locales supported.d local 新增下面的中文字符集 zh cn.gbk gbk zh cn.gb2312gb2312 zh cn.gb18030gb18030 使其生效 sud...