一、写在前面
最近又拿了一些数据进行了测试,发现乱码问题还是存在。研究了好久,今天在这里做一下总结。
二、问题发现
下图为其他文章中常见的乱码设置,但发现如下设置后仍然存在乱码的情况。
//支持中文路径
Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");
//SHAPE_ENCODING设置为空或者CP936
Gdal.SetConfigOption("SHAPE_ENCODING", "");
Gdal.SetConfigOption("SHAPE_ENCODING", "CP936");
2.1业务流程说明
整体业务流程中涉及到两个步骤:
(1)通过GDAL生成矢量,写入数据,属性中包含中文。
(2)将上述步骤生成的多份矢量进行合并,遍历每份矢量图斑,写入最终结果矢量。
2.2第一种乱码情况
SHAPE_ENCODING为空时,步骤一矢量和步骤二均为乱码。
//支持中文路径
Gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES");
//设置为空时
Gdal.SetConfigOption("SHAPE_ENCODING", "");
(1)步骤一矢量