星期四, 5月 10, 2012

shape file character encoding

把它的編碼型態寫在同樣主檔名的.cpg檔案中,可以讓有支援它的軟體得知這個shape file的編碼。

在mapgudie open source(MGOS)中,有時會遇到label無法顯示的問題,顯示出來是奇怪的符號,或是正方形。通常會有兩種可能,第一種就是所選用的字型沒有中文字,或是那個字型是對映Big5字集的字型。這時只要改選字型為simhei或是simsun就可以正常顯示了。第二種問題則是由於在MGOS中所採用的是utf8編碼,所以若是所有的資源所使用的都是utf8,那就不會有出現什麼問題。但資料的產製常常不是自已所態控制的,所以就會出現編碼對映的問題了。那不是把shape file的字元編碼更改成utf8就可以了嗎?例如這邊所提到的使用QGIS另存新檔就可以了。但是檔案很多時,又急著要在MGOS上發佈呢?或是資料的產製者不斷的給這種格式的資料,經過履次的溝通仍然無效呢?或許是因為所使用的工具、或許因為是別人寫好的、前人建立的資料庫,或是最可惡但是又常常發生的「我不會」。總之,做為最終資料的呈現者,就必需要有能力將所有有問題的東西變成看得到。所以就像是.prj檔的使用方式一樣,產生一個同樣主檔名的.cpg檔,然後label就會神奇的顯示出中文來了。

沒有留言: