ArcGIS Server发布WFS中文图层名称乱码问题解决方案
問題背景:
ArcGIS Server 10.6版本及以下,發布WFS服務,請求getFeature接口時,圖層名稱若為中文,則返回“typename has invalid value ...”
WFS getfeature接口請求地址如下,返回結果如下圖所示:
https://localhost:6443/arcgis/services/qyztfw/QY_CCY/MapServer/WFSServer?request=GetFeature&service=WFS&typeName=qyztfw_QY_CCY:產業園中心點
但當訪問WFS的getCapabilities接口時,則能返回正常的中文圖層名稱。WFS getCapabilities接口請求地址如下,圖層信息如下圖所示:
http://localhost:6080/arcgis/services/qyztfw/QY_QHHEJCYS/MapServer/WFSServer?service=WFS&request=GetCapabilities
?
<wfs:name>標簽里記錄了相關圖層名稱
解決方案:
?通過網上查詢,各種方案都試過,如 URL地址中的中文通過urlEecode()進行編碼、修改注冊表的codepage(HKEY_CURRENT_USER > Software > ESRI > Server10.3 下新建項Common、CodePage及字符串值dbfDefault,設置鍵值為oem(或936),并重啟 ArcGISfor Server)等,都無效。通過與ESRI客服打電話進行溝通,他們的ArcGIS Server 10.8及 10.6.1版本都可以正常訪問中文圖層,但訪問我的服務時也會亂碼。因此推斷可能是ArcGIS Server 10.6及以下版本導致,最后請他們找個較低版本的ArcGIS Server測試一下,在10.6環境下成功復現了該問題,最終該問題是ArcGIS Server的一個bug,已經有修復補丁((見下圖郵件))。
訪問補丁包下載地址 ArcGIS Server Security 2020 Update 1 Patch
找到相關操作系統下的對應arcgis server版本的補丁(本人是windows server2016 ,ArcGIS Server 10.6環境),如下圖所示:
下載后,按要求步驟進行安裝即可,如下圖所示:?
安裝完畢 重啟ArcGIS Server10.6后,輸入getfeature地址:https://localhost:6443/arcgis/services/qyztfw/QY_CCY/MapServer/WFSServer?request=GetFeature&service=WFS&typeName=qyztfw_QY_CCY:產業園中心點
問題得到解決,如下圖所示:
總結
以上是生活随笔為你收集整理的ArcGIS Server发布WFS中文图层名称乱码问题解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java实现插值查找算法 Insert
- 下一篇: unity3d界面部分英文翻译—新手