# 为了使属性表字段支持中文,请添加下面这句 gdal.SetConfigOption("SHAPE_ENCODING","") strVectorFile ="E:\\Datum\\GDALCsTest\\Debug\\beijing.shp" # 注册所有的驱动 ogr.RegisterAll() #打开数据 ds = ogr.Open(strVectorFile, 0) if ds == None: print("打开文件【%s】失败!", strVectorFile...
很多其他博客都没有显式指定SHAPE_ENCODING的值,直接为gdal.SetConfigOption("SHAPE_ENCODING",""); 理由是:操作系统的默认编码方式就是CP936() 然而我经过调试发现/String nameString=gdal.GetConfigOption("SHAPE_ENCODING");返回值为null,并不是传说中的CP936,因此将它设为CP936解决中文乱码问题;...
CPLSetConfigOption("SHAPE_ENCODING","GBK"); 上面这种方式是全局设置的,如果想设置单个文件的编码方式也是可以的。例如,打开一个矢量文件读取为UTF-8的数据集: 代码语言:javascript 复制 char**ppszOptions=NULL;ppszOptions=CSLSetNameValue(ppszOptions,"ENCODING","UTF-8");GDALDataset*poDS=(GDALDataset*)G...
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...
OSGeo.GDAL.Gdal.SetConfigOption("SHAPE_ENCODING",""); 昨天,一位朋友说,他测试C#版本,发现中文路径有时候可以,有时候不可以,通过设置GDAL_FILENAME_IS_UTF8也无济于事。 今天通过测试发现,只要是文件名中的汉字个数是偶数,完全没有影响,读取和创建都正常,如果文件名中的汉字个数是奇数,肯定不能读取和创建...
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读取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)...
SetConfigOption("SHAPE_ENCODING", ""); /** * 判断编码dxf文件编码类型: * 在cad另存为dxf时,由于不同版本问题导致编码不同。 * 已知:dxf >=2007 版本编码为 UTF-8,其他低版本编码为 GB2312 * 若为 UTF-8 需要设置:gdal.SetConfigOption("DXF_ENCODING", "ASCII"); */ String charset = ...
("SHAPE_ENCODING","CP936");//读取数据,这里以ESRI的shp文件为例StringstrDriverName="ESRI Shapefile";//创建一个文件,根据strDriverName扩展名自动判断驱动类型DriveroDriver=ogr.GetDriverByName(strDriverName);if(oDriver==null){System.out.println(strDriverName+"驱动没有初始化");return;}// 读取shp...