myeclipse中文編碼錯誤,沒有GBK選項


默認編碼是UTF-8,但是導入GBK工程后,直接改為ISO-8859-1,但是還是編碼錯誤。

用網上的:

  全局編碼設置:編碼設置的方法:ToolBar-->Window-->Preferences-->General-->Workspace-->Text file encoding,設置合適的編碼。

  局部編碼設置:在源碼按右鍵-->General-->Editors-->Test Editors-->Spelling-->Encoding,這里是設置單個文件的編碼。

發現全局編碼修改后,單個頁面的還沒有改。

遂點右鍵,發現沒有GBK選項。。。阿西吧

 

GC來了,這時候需要手打 GBK 到 textbox中,然后點擊Apply,這樣頁面的編碼也成為GBK了。

 

附:Unicode、UTF-8 和 ISO8859-1到底有什么區別

(這部分轉自 http://blog.csdn.net/xiongchao2011/article/details/7276834)

將以"中文"兩個字為例,經查表可以知道其GB2312編碼是"d6d0 cec4",Unicode編碼為"4e2d 6587",UTF編碼就是"e4b8ad e69687"。注意,
這兩個字沒有iso8859-1編碼,但可以用iso8859-1編碼來"表示"。 

2. 編碼基本知識 

最早的編碼是iso8859-1,和ascii編碼相似。但為了方便表示各種各樣的語言,逐漸出現了很多標准編碼,重要的有如下幾個。 

2.1. iso8859-1 通常叫做Latin-1

屬於單字節編碼,最多能表示的字符范圍是0-255,應用於英文系列。比如,字母a的編碼為0x61=97。 

很明顯,iso8859-1編碼表示的字符范圍很窄,無法表示中文字符。但是,由於是單字節編碼,和計算機最基礎的表示單位一致,所以很多時候,
仍舊使用iso8859-1編碼來表示。而且在很多協議上,默認使用該編碼。比如,雖然"中文"兩個字不存在iso8859-1編碼,以gb2312編碼為例,應
該是"d6d0 cec4"兩個字符,使用iso8859-1編碼的時候則將它拆開為4個字節來表示:"d6 d0 ce c4"(事實上,在進行存儲的時候,也是以字節為
單位處理的)。而如果是UTF編碼,則是6個字節"e4 b8 ad e6 96 87"。很明顯,這種表示方法還需要以另一種編碼為基礎。 

2.2. GB2312/GBK 

這就是漢子的國標碼,專門用來表示漢字,是雙字節編碼,而英文字母和iso8859-1一致(兼容iso8859-1編碼)。其中gbk編碼能夠用來同時表示
繁體字和簡體字,而gb2312只能表示簡體字,gbk是兼容gb2312編碼的。 

2.3. unicode 

這是最統一的編碼,可以用來表示所有語言的字符,而且是定長雙字節(也有四字節的)編碼,包括英文字母在內。所以可以說它是不兼容iso8859-1編
碼的,也不兼容任何編碼。不過,相對於iso8859-1編碼來說,uniocode編碼只是在前面增加了一個0字節,比如字母a為"00 61"。 

需要說明的是,定長編碼便於計算機處理(注意GB2312/GBK不是定長編碼),而unicode又可以用來表示所有字符,所以在很多軟件內部是使用unicode
編碼來處理的,比如java。 

2.4. UTF 

考慮到unicode編碼不兼容iso8859-1編碼,而且容易占用更多的空間:因為對於英文字母,unicode也需要兩個字節來表示。所以unicode不便於傳輸和存
儲。因此而產生了utf編碼,utf編碼兼容iso8859-1編碼,同時也可以用來表示所有語言的字符,不過,utf編碼是不定長編碼,每一個字符的長度從1-6個字
節不等。另外,utf編碼自帶簡單的校驗功能。一般來講,英文字母都是用一個字節表示,而漢字使用三個字節。 

注意,雖然說utf是為了使用更少的空間而使用的,但那只是相對於unicode編碼來說,如果已經知道是漢字,則使用GB2312/GBK無疑是最節省的。不過另
一方面,值得說明的是,雖然utf編碼對漢字使用3個字節,但即使對於漢字網頁,utf編碼也會比unicode編碼節省,因為網頁中包含了很多的英文字符。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM