GDAL支持中文路徑和Shp文件中文屬性寫入


在使用GDAL的過程中,為了支持中文,比需手動進行中文路徑的設置,同時特別是在對Shp的屬性進行中文輸入的時候,都必須進行必要的設定。

為了支持中文路徑,在注冊了驅動之后,加上第三句就可以了。必須設置為“NO”。

GDALAllRegister(); 
OGRAllRegister();
CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO");

=================================================================================  

為了支持Shp中的中文屬性輸入,在注冊了驅動之后,也得加上一句。

CPLSetConfigOption( "SHAPE_ENCODING", "" );

有時候,也可以指定函數第二個選項為“CP936”

CPLSetConfigOption("SHAPE_ENCODING","CP936");

Shp中加入中文字段的示例代碼如下:

wchar_t * wszChangedType = L"中國中文支持";
int len = WideCharToMultiByte(CP_UTF8, 0, wszChangedType, -1, NULL, 0, NULL, NULL);
char *szChangedType = (char*)malloc(len + 1); memset(szChangedType, 0, len + 1); WideCharToMultiByte(CP_UTF8, 0, wszChangedType, -1, szChangedType, len, NULL, NULL); poFeature->SetField(nChangedType,szChangedType);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM