GDAL GDALOpen 打开中文路径的问题
2014-08-11 09:57
218 查看
GDAL GDALOpen 打开中文路径的问题
Posted on 2012-03-28 20:44romi 阅读(...) 评论(...)
编辑
收藏
今天遇到了个问题,在VS2008下面,用GDAL打开影像时,一直出现问题,调试了好半天,先是将QString类型的路径名转为char*,试了诸多方法,不管怎么转,就是提示错误,后来直接用char*指向路径名,还是出错,路径名不含中文时完全没问题。于是问题不在这里,问题在GDALOpen这个函数上,这就奇怪了,Linux下用的GDAL都不会出现这种问题,Windows的VS2008下就有这种问题。在网上找到一篇文章/article/1361000.html,顿时解决了问题。
原因如下:用的是最新的GDAL1.9,GDAL中有一个函数CPLGetConfigOption( "GDAL_FILENAME_IS_UTF8", "YES" )判断,通过判断是否是UTF8的编码,而且指定的默认值还是UTF8编码,在含有中文路径的字符串大多数的编码应该是GBK的编码,这样,系统就将GBK的编码当做UTF8的编码来进行转换,结果就是汉字全部是乱码,导致的结果就是找不到文件,所以打不开。
解决方法:
不改变GDAL源代码,在自己调用GDALRegisterAll()和OGRAllRegiser()函数后,加上下面一句即可。
CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO");
相关文章推荐
- 关于GDAL180中文路径不能打开的问题分析与解决
- 关于GDAL180中文路径不能打开的问题分析与解决
- 关于GDAL180中文路径不能打开的问题分析与解决
- gdal中文路径无法打开问题
- 关于GDAL180中文路径不能打开的问题分析与解决
- 解决sqlite3_open函数无法打开中文路径问题
- GDAL打开HDF格式时遇到的中文路径问题(未解决)
- GDAL打开中文路径和读写中文字段的问题
- ffmpeg中avio_open无法打开中文路径的解决方法
- tomcat 服务器 打开中文路径出现乱码问题
- ifstream打开含中文路径文件时失败的问题
- gdal1.9.0编译后,打不开中文路径文件问题
- ifstream打开中文路径的问题
- ifstream VS2005 中文路径打开失败问题
- 解决fstream.open()不能正确读取中文路径的问题
- FW:关于GDAL180中文路径不能打开的…
- 解决fstream不能打开带有中文路径文件的问题
- 解决fstream不能打开带有中文路径文件的问题
- 关于std::fstream以及std::ifstream打开中文路径名失败的问题和解决方法
- ifstream打开含中文路径文件时失败的问题