很多其他博客都没有显式指定SHAPE_ENCODING的值,直接为gdal.SetConfigOption("SHAPE_ENCODING",""); 理由是:操作系统的默认编码方式就是CP936() 然而我经过调试发现/String nameString=gdal.GetConfigOption("SHAPE_ENCODING");返回值为null,并不是传说中的CP936,因此将它设为CP936解决中文乱码问题;...
OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING",""); 昨天,一位朋友说,他测试C#版本,发现中文路径有时候可以,有时候不可以,通过设置GDAL_FILENAME_IS_UTF8也无济于事。 今天通过测试发现,只要是文件名中的汉字个数是偶数,完全没有影响,读取和创建都正常,如果文件名中的汉字个数是奇数,肯定不能读取和创建。
OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES"); OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING", ""); OSGeo.GDAL.Gdal.AllRegister(); OSGeo.OGR.Ogr.RegisterAll(); // 数据源 OSGeo.OGR.Driver pDriver = Ogr.GetDriverByName("ESRI Shapefile"); OSGeo.OGR.DataSource ...
// 为了使属性表字段支持中文,请添加下面这句 gdal.SetConfigOption("SHAPE_ENCODING",""); String strVectorFile = "D:\\test\\NODE.shp"; //打开文件 DataSource ds = ogr.Open(strVectorFile,0); if (ds == null) { System.out.println("打开文件失败!" ); return; } System.out.println("打...
CPLSetConfigOption("SHAPE_ENCODING",""); 1.2.2. 解码方式 如果读取出来的字段属性仍然是乱码,就应该考虑字符串的解码问题,就是获取的字段属性字符串没有正确的解码出来。例如读取UTF-8的Shp文件的属性字段: 代码语言:javascript 复制 OGRFeature*poFeature;while((poFeature=poLayer->GetNextFeature())!=NULL)...
gdal.SetConfigOption("SHAPE_ENCODING", "UTF-8"); String strDriverName = "ESRI Shapefile"; org.gdal.ogr.Driver oDriver = ogr.GetDriverByName(strDriverName); if (oDriver == null) { System.out.println(strDriverName + " 驱动不可用!\n"); ...
gdal.SetConfigOption("SHAPE_ENCODING",""); String strVectorFile = "D:\\test\\NODE.shp"; //打开文件 DataSource ds = ogr.Open(strVectorFile,0); if (ds == null) { System.out.println("打开文件失败!" ); return; } System.out.println("打开文件成功!" ); ...
SetConfigOption("SHAPE_ENCODING", ""); /** * 判断编码dxf文件编码类型: * 在cad另存为dxf时,由于不同版本问题导致编码不同。 * 已知:dxf >=2007 版本编码为 UTF-8,其他低版本编码为 GB2312 * 若为 UTF-8 需要设置:gdal.SetConfigOption("DXF_ENCODING", "ASCII"); */ String charset = ...
用GDAL读取shp文件中的中文属性时输出可能是乱码,解决方法:在代码开始加上:CPLSetConfigOption("SHAPE_ENCODING","");
Boundary.shp";//注册Ogr Ogr.RegisterAll();OSGeo.GDAL.Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "NO");//读取字段属性值时设置,否则有中文乱码 OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING", "NO");DataSource ds = Ogr.Open(strShpFullName, 0);if (ds == null)...