服务器端的环境是:地图服务用REST发布出来,ArcGIS Server来部署服务。
我们用Flex结合ESRI的一套API来开发前端的展示系统,当使用Query和QueryTask访问REST中的属性信息时,发现输入中文查询信息时,会出现乱码问题。
原因是ArcGIS Server是不支持中文的,需要我们自己手动配置。如下解决,在服务器端,ArcGIS Server目录下面:
C:\Program
Files\ArcGIS\java\manager\service\tomcat\managerappserver\conf\server.xml
C:\Program
Files\ArcGIS\java\manager\service\tomcat\managerserver\conf\server.xml
修改Connetcor标签,加上URIEncoding="UTF-8",如下:
<Connector port="8399" URIEncoding="UTF-8"
maxHttpHeaderSize="8392" maxThreads="150" minSpareThreads="25"
maxSpareThreads="75" enableLookups="false" redirectPort="8343" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"/>
端口号是客户端使用的端口号,保险起见,将所有Connector标签中都加上。
然后,重启ArcGIS的两个服务。可以发现,乱码问题已经解决。