[小记]ArcEngine 10.0读取shapefile的中文属性值乱码

今天遇到个奇怪的问题,RT,据了解应该是读取dbf文件的编码问题,但是不知道AE是如果初始化内部Encoding,按照正常思路应该是取操作系统codepage来确定编码,google下,有以下两个资料。

 

参考资料:

http://support.esri.com/index.cfm?fa=knowledgebase.techArticles.articleShow&d=21106 

 

但设置完之后,还是会出现乱码现象。对比过一些AE自带的DEMO,正常显示。

对比两个程序 ,最大区别就是License的初始化部分。

 自己的:

  1     ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.Engine);

 2             AoInitializeClass aoInitialize = new AoInitializeClass();
 3             esriLicenseStatus status = aoInitialize.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngine);
 4             if (status == esriLicenseStatus.esriLicenseAvailable)
 5             {
 6                 status = aoInitialize.Initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);
 7                 if (status == esriLicenseStatus.esriLicenseCheckedOut)
 8                 {
 9                     return true;
10                 }
11                 else
12                 {
13                     return false;
14                 }
15             }
16             return false;

 

 Demo用的是AxLicenseControl来初始化。

 后面改为AxLicenseControl来初始化,显示正常。

 故猜想,读取的dbf的codepage是在这些控件中初始化的。

在此mark下,求告知。 

 

 

posted @ 2012-06-26 15:53  Joe-xXx  阅读(2101)  评论(0编辑  收藏  举报