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

网上查询到很多关于 Android 中使用GDAL组件时中文字段与路径的问题,90%以上的解决方案都是重复且无效的,经过了长时间的折腾之后总结一种简单可行的方案,整理记录一下。
原理就是获取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");

附上下载链接,有需要的下载也让我回一点积分 https://download.csdn.net/download/oshengxia1234/11266583

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值