eclipse 設置全部文件編碼爲UTF-8(最全)

如何修改eclipse工做空間的字符集以及項目的字符集?

  第一種方式:修改eclipse的配置文件java

  打開{ECLIPSE_HOME}/eclipse.ini文件web

  在最後一行加上屬性:sql

-Dfile.encoding=utf-8

  第二種方式:手動設置eclipse

  1.修改文件編碼jsp

  修改Java Class File的編碼集工具

  Window-->General-->Content Types-->Java Class File-->Default encoding-->UTF-8-->Update(utf-8大小寫無所謂)開發工具

  修改其它類型文件的字符集(CSS,HTML,JS,JAVA,XML等)測試

  注意:設置Text時,CSS,HTML,JS,JAVA,XML等文件的編碼集都會被修改成UTF-8,可是,jsp文件仍是採用的iso-8859-1。編碼

  須要手動修改爲utf-8,再點擊Update。spa

  2.更改eclipse的工做空間

  Window-->General-->Workspace-->Text file encoding-->Other-->UTF-8-->Apply

  3.檢查Web目錄下Files文件的編碼集

  CSS Files,HTML Files,JSP Files的字符集是否已是utf-8,若是不是,記得更改。

  4.檢查XML目錄下Files文件的編碼集

  至此,eclipse文件的字符集已經徹底被設置爲utf-8了。

  5.修改項目的字符集

  選中項目--》右鍵--》Properties--》Resource--》-->Text file encoding-->Other-->UTF-8-->Apply

拓展1:如何校驗eclipse建立的java文件的字符集?

  第一步:新建一個Test.java類。

public class Test {
	public static void main(String[] args) {
		String str = "這裏必須用中文才能測試出來當前java文件的字符集!";
		System.out.println(str);
		System.out.println("JVM採用的怎樣的字符集解析class文件:" + Charset.defaultCharset().name());
	}
}

  第二步:查看該文件所在的磁盤位置,並複製

  選中該類--》右鍵--》Properties--》Location顯示的就是該類所在的本地路徑,複製該路徑

  第三步:打開cmd命令窗口

  win+r--》輸入:cmd--》肯定

  命令進入到該目錄下

  輸入:d:--》回車進入到d盤根目錄下--》cd D:\workspace-eclipse\yyproject\src\dzkjk\web\tools

  第四步:使用java命令進行編譯

  輸入:javac Test.java--》回車,查看執行結果。

  說明:

  要想在cmd下執行java命令,首先須要配置環境變量;

  若是編譯報錯信息爲:編碼GBK的不可映射字符,則證實Test.java文件的編碼集爲UTF-8,不然,若是可以成功編譯,則證實該文件的字符集爲GBK。

  測試的類只有用中文,測試測出來該類的字符集,由於:在脫離了eclipse後,不管java文件的編譯仍是運行都是有操做系統的語言決定的。

  另外,你可能會說,在第二步中,直接右鍵屬性,就能看到當前java類的字符集了。

  這,沒毛病,可是咱們沒辦法這樣就下結論說:該文件的字符集就是utf-8,不信?我們繼續探索。

拓展2:查看java文件字符集顯示爲utf-8,就說明它是以utf-8進行編碼的嗎?

  咱們在notepad++裏測試一下。

  第一步:打開notepad++,新建一個文件,並將上述的代碼複製到該文件中

  第二步:保存文件

  將該文件保存到桌面,文件名爲Test.java

  第三步:將文件字符集設置爲utf-8無BOM格式編碼

  進行保存。

  第三步: cmd切換到桌面目錄。

  第四步:編譯該文件

  接下來就會發現有趣的事情:

  若是,漢字你是從eclipse中複製過來的,編譯報錯信息一致。

  可是,若是你是經過notepad++,進行過修改,且內容爲中文。 

  你會發現:測試這兩個字,在編譯的時候沒有報錯。

 

  咱們把最後一行代碼刪掉,結果:編譯成功。 

  桌面,也生成了Test.class文件。

  咱們使用java反編譯文件,打開看看什麼狀況。

  怎麼樣?亂碼!!! 

  這說明什麼?

  第一,當java文件的字符集設置成utf-8後,在eclipse下進行開發,能夠保證該文件裏的內容就是utf-8,毋庸置疑;

  第二,當java文件的字符集設置成utf-8後,在notepad++下進行開發,涉及到中文的地方,中文的字符集還是GBK,而不是utf-8;

  第三,當java文件的字符集設置成utf-8後,經過查看java文件的字符集的方式,並不能證實該文件就是utf-8編碼格式;

  第四,java反編譯工具會自動解析class文件的字符集,而後以該文件的字符集解析文件內容。

  第五步,還原java代碼,從新編譯。

  剛纔忘了導包,如今加上。

  編譯的時候,告訴java,該文件的字符集是多少。

javac -encoding utf-8 Test.java 

  編譯成功。

  -encoding 字符集,就是告訴javac.exe在執行編譯命令時,以utf-8的格式進行編譯。

  (前面已經提到:脫離eclipse執行的java操做,在沒有明確指明的狀況下,不管java文件的編譯仍是運行都是由操做系統的語言決定的,Windows語言是GBK) 

  第六步,查看生成的class文件。

  中文展現沒有亂碼,完美。 

  這也告訴咱們,能用開發工具進行開發的時候,儘可能藉助eclipse來實現。

 

寫在最後

  哪位大佬如若發現文章存在紕漏之處或須要補充更多內容,歡迎留言!!!

 相關推薦:

相關文章
相關標籤/搜索