1. 程式人生 > >Python 中使用 ogr 生成 shape 檔案時的中文亂碼問題

Python 中使用 ogr 生成 shape 檔案時的中文亂碼問題

GDAL/OGR 的 1.9 版本開始,ogr 對中文的支援有了較大的改動。預設情況下,使用 Python 的 osgeo.ogr 生成 shape 檔案時,直接使用 SetField 來設定屬性值,其中如果含有中文就會出現亂碼。在 driver 初始化之前,設定 gdal 的引數就可以解決中文亂碼的問題。C/C++ 的做法 具體連結看這裡。在Python 的設定方法如下:

import osgeo.ogr, osgeo.gdal
osgeo.gdal.SetConfigOption('GDAL_FILENAME_IS_UTF8', 'NO') # 解決中文路徑
osgeo.gdal.SetConfigOption('SHAPE_ENCODING', '') # 解決 SHAPE 檔案的屬性值
...