使用map的query功能时,常常会遇到查不到中文的问题,一般都是rest的tomcat设置问题。
服务器端的环境是:地图服务用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的两个服务。可以发现,乱码问题已经解决