Eclipse+MyEclipse+tomcat開發中,全域編碼設定為UTF-8 __編碼

來源:互聯網
上載者:User

Eclipse+MyEclipse開發中,全域編碼設定為UTF-8

在使用Eclipse+MyEclipse開發中,許多檔案編碼預設是ISO-8859-1,不支援中文(如常用的JSP)。這樣我們每次建檔案都要手動改編碼,其實我們可以在設定檔案預設編碼,今後再建立時就不用每次修改編碼了,

UTF-8

如果要使外掛程式開發應用能有更好的國際化支援,能夠最大程度的支援中文輸出,則最好使 Java檔案使用UTF-8編碼。然而,Eclipse工作空間(workspace)的預設字元編碼是作業系統預設的編碼,簡體中文作業系統 (Windows XP、Windows 2000簡體中文)的預設編碼是GB18030,在此工作空間中建立的工程編碼是GB18030,工程中建立的java檔案也是GB18030。如果要使建立立工程、java檔案直接使UTF-8則需要做以下工作:

1、windows->Preferences...開啟"喜好設定"對話方塊,左側導航樹,導航到general->Workspace,右側Text file encoding,選擇Other,改變為UTF-8,以後建立立工程其屬性對話方塊中的Text file encoding即為UTF-8。

2、windows->Preferences...開啟"喜好設定"對話方塊,左側導航樹,導航到general->Content Types,右側Context Types樹,點開Text中每一顆子項,並在中輸入"UTF-8",點update!

其他java應用開發相關的檔案如:properties、XML等已經由Eclipse預設指定,分別為ISO8859-1,UTF-8,如開發中確需改變編碼格式則可以在此指定。

3、window-->preference-->MyEclipse-->Files and Editors,將每個子項的"Encoding"改為"ISO 10645/Unicode(UTF-8)",點Apply!

4、經過上述三步,建立java檔案即為UTF-8編碼,Eclipse編譯、運行、調試都沒問題,但是做RCP應用的Product輸出時、或者外掛程式輸出時,則總是出錯,要麼不能編譯通過(輸出時要重新compile)、要麼輸出的外掛程式運行時中文顯示亂碼。此時需要再RCP應用、或外掛程式Plugin工程的build.properties中增加一行,javacDefaultEncoding.. = UTF-8。讓輸出時編譯知道java源檔案時UTF-8編碼。這個設定需要保證所有的java源檔案時UTF-8編碼格式,如果不全是,可以參考 Eclipse幫中(Plug-in Development Environment Guide > Reference > Feature and Plug-in Build configuration),建議全部java源檔案是UTF-8編碼。

如果外掛程式開發、RCP應用開發原來基於其他編碼,如GB18030,想轉換為UTF-8,則首先,做以上工作;然後通過尋找編碼轉換工具,如基於 iconv的批量轉換工具,將原編碼轉換為UTF-8編碼,注意只轉換java源檔案,其他類型檔案可能已經是比較合適的編碼了;將原工程屬性中的 Text file encoding,從原編碼改為UTF-8即可。

MyEclipse編碼設定
  我的Myeclipse安裝後編碼預設是GB18030,外面的人一般推薦用UTF-8。如果在匯入項目後發現亂碼現象,那是編碼設定設定不對。

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

  局部編碼設定:在源碼按右鍵-->General-->Editors-->Test Editors-->Spelling-->Encoding,這裡是設定單個檔案的編碼。

  推薦還是使用全域編碼設定吧。

  為了您的安全,請只開啟來源可靠的網址

開啟網站    取消 來自: http://hi.baidu.com/mjsong07/blog/item/b56444fba0dde52e4e4aea1d.html 寫下記錄以防以後再被亂碼搞暈 1 資料庫:安裝時選擇字元集,建立資料庫時選擇一樣的字元集。 2 jsp頁面:<%@ page contentType="text/html; charset=utf-8"%>                   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">charset一致 3 servlet:在dopost()裡面添加resp.setContentType("text/html;charset=UTF-8"); 4 tomcat:在server.xml中設定如下:添加黑體字內容
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
  enableLookups="false" redirectPort="8443" acceptCount="100" debug="0"
  connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
5 添加過濾器:     public class EncodingFilter implements Filter {  public void destroy() {
  // TODO Auto-generated method stub  }
 /**
  * 程式亂碼處理工作
  * @param arg2:過濾器鏈,多個過濾器構成
  */
 public void doFilter(ServletRequest arg0, ServletResponse arg1,
   FilterChain arg2) throws IOException, ServletException {
  HttpServletRequest request=(HttpServletRequest)arg0;
  //對請求中遞交的資料進行字元集編碼
  request.setCharacterEncoding("UTF-8");
  //將請求繼續交給後續的過濾器或者servlet做處理
  arg2.doFilter(arg0, arg1);
 }  public void init(FilterConfig arg0) throws ServletException {
  // TODO Auto-generated method stub  }   } 設定檔: <filter>
  <filter-name>encoding</filter-name>
  <filter-class>common.EncodingFilter</filter-class>
    </filter>
    <filter-mapping>
  <filter-name>encoding</filter-name>
  <url-pattern>/*</url-pattern>
    </filter-mapping> 後續若還有發現再續~~ 折騰了一溜,亂碼不過是浮雲。                 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.