MapXtreme for Java 中文亂碼__Java

來源:互聯網
上載者:User

話說MapXtreme for Java也是MapInfo他們家出的產品,它很多時候就是不認MapInfo下編輯的地圖,編輯好的漂漂亮亮的地圖,放進MapXtreme for Java中,不是表徵圖變了就是圖層的可見域變了,想不通啊。

      中文亂碼問題,網上講的也很多,但都是一種原因,從我的實際經驗來看,中文亂碼分為兩種情況:一是普通圖層的tab檔案和標註字型的設定,二是自己繪製的圖層,標註無法正常顯示的問題。

情況1: 網上普遍出現的問題。解決方案分兩步:
           Step1:將圖層的tab檔案的字元集改成“WindowsSimpChinese”,如下例所示
   !table
   !version 300
   !charset WindowsSimpChinese
   Definition Table
     Type NATIVE Charset "WindowsSimpChinese"
     Fields 4
       mm_id Decimal (4, 0) ;
       mm_name Char (30) ;
       mm_area Float ;
       mm_length Float ;

          Step2:在MapInfo中,載入地圖後,右鍵->圖層控制->選擇有中文亂碼的圖層->標註,在彈出的標註選項對話方塊中,找到更改字型的地區即“Style”區,點擊字型,進入字型對話方塊“Text Style”,將字型“Font”改為中文字型,例如宋體、楷書、隸書等。確定儲存即可。

情況2:在MapInfo中,從裝飾圖層開始,自己繪製地圖,建立表結構,再將裝飾圖層儲存下來的情況,如果出現中文亂碼,根據我的實際經驗,可能的解決方案是:在功能表列,Table->Maintenance->Pack Table,在彈出的Pack Table對話方塊中選擇有中文亂碼問題的圖層,選擇Pack Both Types of Data,點擊Ok。完了後,在MapInfo裡就看不見這個圖層了,載入進來就可以了。再到MapXtreme for Java裡去看,中文就可以顯示出來了。

       聲明:情況2在MapXtreme for Java中的表現是:只有數字可以正確顯示,其他都是亂碼,用Info工具去看,只能看到其他圖層正確的中文標註。這種方法我還沒有查到理論依據,只是一種可能的解決方案,但不包治百病,大家可以試一試。

       還有一種不能正確顯示標註的情況(不是中文亂碼):在MapInfo中設定標註時選擇的欄位是名稱name,在Mapxtreme for Java中看到的標註卻不是name,也不是亂碼,可能是一些數字,在Mapxtreme for Java查看標註的欄位也是name(但顯示的就不是name,這一點我困惑了很久)。再到MapInfo中的Window->New Browser Window中查看該圖層的欄位,如果發現Mapxtreme for Java中顯示的標註正好是表結構中的第一個欄位的內容,例如可能是ID那個欄位。貌似MapXtreme for Java只能擷取表結構中的第一個欄位,包括在Web工程中調用Mapxtreme for Java的函數。這種情況下我的解決方案是改變該圖層的表結構,把名字放到第一個位置,Table->Maintenance->Table Structure。這樣的後果是,需要重新載入圖層、設定顯示方式等等。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.