如果你在用arcgis server做地图服务器,你可能会遇到这样一个问题,就是当你在用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的两个服务。可以发现,乱码问题已经解决。

如果你已经安装了arcgis server的补丁包,那么你应该这样修改:

1.备份<arcgis dir>\java\web_output\rest文件夹.(这个文件夹没有被打过sp1补丁)

2.升级ArcGIS Server 9.3到sp1。(其他诸如desktop,sde也到同步到sp1)

3.用原有的rest文件夹替换打过sp1补丁后的rest文件夹

注:如果已经升级到了sp1而面临这个乱码问题也不要紧,找台没有升级到sp1的或者重新在另一台机子上安装ags server 9.3,再把rest文件夹拷贝过来。这个时候要注意,别忘了修改拷贝过来<rest>\WEB-INF\classes \server.properties文件,把主机名用户名,密码等都改为自己的本地环境(密码要用编码后的字符串)。

或者把自己的server.properties文件保留下来。

4.打开两个文件:

<arcgis dir>\java\manager\service\tomcat\managerappserver\conf \server.xml
<arcgis dir>\java\manager\service\tomcat\managerserver\conf \server.xml

找到所有"Connector"元素,添加一个属性 :URIEncoding="UTF-8"。例如:

<ConnectorURIEncoding="UTF-8"port="8099"   ……

5.重启SOM,SOC服务。

这个问题就解决了。远去。。。。。

 

 

原文地址:http://uh.9ria.com/space-84508-do-blog-id-5899.html

posted on 2011-03-19 22:12  pandy  阅读(477)  评论(0编辑  收藏  举报