测试环境:Windows 8.1 英文版、Oracle 11.2.0.1 64Bit NLS_LANG=UTF-8、ArcGIS 10.2.2 for Desktop、ArcSDE 10.2.2、ArcGIS 10.2.2 for Server
问题描述:使用UTF-8字符集的数据,在ArcMap中添加要素中文标注显示没有问题,
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
但是将该MXD发布ArcGIS Server服务,标注显示为乱码。
解决方法1:修改数据库客户端字符集
查看服务器端字符集
SQL> select userenv('language') from dual; USERENV('LANGUAGE') --------------------------------------------- SIMPLIFIED CHINESE_CHINA.AL32UTF8
将数据库客户端的字符集修改为和服务器端一样测试,解决失败!
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
解决方法2:为ArcGIS Server的Tomcat添加支持UTF-8的URIEcoding信息。
查看C:\Program Files\ArcGIS\Server\framework\runtime\tomcat\conf
里面的server.xml,在相关Connector里面添加URIEncoding="UTF-8"
<Connector URIEncoding="UTF-8" connectionTimeout="20000" maxHttpHeaderSize="65535" maxPostSize="10485760" port="6080" protocol="HTTP/1.1" redirectPort="6443" server=" " />
进行测试,解决失败!
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
解决方法3:考虑到我的操作系统是Windows8.1英文版,在添加标注时注意到一个细节
ArcMap中默认标注的字体并不是宋体,而是以mircosoft sans serif的字体,我将其修改为宋体,问题解决!
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
以上是我测试的解决方案,但是用户那边说所有设置都没有问题,只是版本为10.1的,还是没有解决,最后他们重新建库修改了数据库的字符集由UTF-8修改为GB2312,这个令我不解!
希望能够给遇到相关问题的用户以参考!