Android GDAL 中文路径及字段乱码问题修复 下载

网上查询到很多关于 Android 中使用GDAL组件时中文字段与路径的问题,经过了长时间的折腾之后总结一种简单可行的方案,整理记录一下。原理就是获取value值的二进制数据,在调用java代码整合成字符串

//解决中文路径问题
gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");
gdal.SetConfigOption("SHAPE_ENCODING", "UTF-8");


DataSource ds = ogr.Open(path, 0);
if (ds == null) {
    ToastUtil.show("打开文件失败");
    return;
}

org.gdal.ogr.Layer oLayer = ds.GetLayerByIndex(0);
if (oLayer == null) {
    return;
}

org.gdal.ogr.Feature  oFeature = oLayer.GetNextFeature();
//String result = oFeature.GetFieldAsString(); 旧方法获取的value包含中文导致app crash

//解决中文字段问题
String result = new String(oFeature.GetFieldAsBinary("字段名称"), "GBK");

附上 android gdal 2.2.3 库下载:链接: https://pan.baidu.com/s/1--DN62eEMMREorbrRH3NLw 提取码: wk4e

你可能感兴趣的:(Android GDAL 中文路径及字段乱码问题修复 下载)