Portal for ArcGIS上傳shp文件中文亂碼可能狀況

環境:web

windows Server 2008;Portal for ArcGIS 10.2;ArcGIS for Server 10.2;PostgreSQL 9.2;ArcGIS for Desktop 10.2;ArcSDE 10.2;Maps for Office;Office 2013數據庫

問題描述:windows

軟件配置完畢,服務正常,將A.shp文件打包成A.zip,上傳到portal中,出現中文字段亂碼問題。編碼

問題排查與解決:spa

1)打開ArcMap加載服務,屬性表亂碼;但ArcMap加載原始未打包上傳的A.shp文件屬性表顯示正常,初步懷疑是服務問題;操作系統

2)打開SDE,加載剛剛導入的圖層,屬性表亂碼;code

3)將未打包上傳的A.shp文件導入SDE後,加載到ArcMap裏,屬性表顯示正常,證實SDE、PostgreSQL數據庫沒有問題;orm

4)其餘人的樣例數據按以上操做均正常顯示,無亂碼;否認服務問題;blog

5)將其餘人機器上的樣例數據B.shp拷貝到本機,從新打包上傳到portal,無亂碼,初步懷疑是A.shp數據問題;ip

6)將B.shp在ArcMap中加載,顯示無誤,用Export導出成另外的C.shp;

7)將C.shp從新打包上傳到portal,亂碼重現;初步否認A.shp問題,初步懷疑是系統自己字符集影響了shp文件編碼;

8)參考http://support.esri.com/en/knowledgebase/techarticles/detail/21106

9)ArcGIS默認經過讀取系統的代碼頁(CodePage)來肯定文件編碼的(或者是根據操做系統語言來判斷的?)。要保存成Unicode(UTF-8)編碼,須要作一些修改。方法以下:
打開註冊表,定位到HKEY_Current_User\Software\ESRI\,添加 Common 項,在Common項下面新建 CodePage項。而後在CodePage項中(註冊表右側)添加一個字符串(REG_SZ),名稱: dbfDefault,健值:oem(或者UTF-8),以下圖。修改完註冊表以後,必須新建一個Shape文件或將已有的另存爲(Export Data)新的Shape文件,才能讓前面的修改生效。

10)從新將A.shp、C.shp分別打包上傳到portal,亂碼消失!

相關文章
相關標籤/搜索