`
flyinglife
  • 浏览: 130099 次
社区版块
存档分类
最新评论

arcgis 中文乱码问题

    博客分类:
  • gis
阅读更多

在利用到ArcGIS JS API进行开发的过程中,几个Task(比如query和find)中会用到outFields属性,主要就是来给开发人员定制一些属性表中需要被返回的字段。在返回的结果(featureSet,findResults等 )中,可以从graphic的attributes属性中来拿到它们。可悲的是,在打过SP1补丁后,只要结果中有中文(不管是字段名还是值),一律变为乱码。。火星文。。。(不打sp1补丁可以正常显示中文,但无法进行中文的查询)

ESRI也很非主流。。。

 

因为在网上没有看到更好的,所以就在这里分享下关于这个问题的解决方案。

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服务。完成,鈥★魰从此远去……:)

 

最近在写一套用来实现地图服务的Javascript框架,基于ags js api和dojo的。非常希望和同样用ags js api开发的朋友们一起讨论。

分享到:
评论
2 楼 xushijack 2011-02-22  
siverlight api 出现乱码是一样的道理吗。但我找不到你说的文件夹
<arcgis dir>\java\web_output\rest
1 楼 lgx2351 2009-11-13  
用ags js开发,能不能不用utf-8,改用gbk?

用ags js做开发地图,地图里加进了挺多原来的业务功能,这些原来的代码都是gbk的编码。
引用过来后,因为原来的文件是用gbk编码的。运行起来一直出现这样那样的问题,如提示“无效字符”,如果把这个js文件改为utf-8,又提示认不到函数之类的。晕死了。

我做的系统只要求在国内使用,能不能都用gbk?不用utf-8来实现?

相关推荐

Global site tag (gtag.js) - Google Analytics