gdal无法读取中文标题的图片的解决办法(结合Qt)
gdal是gis领域一款常用的软件。但是如果图片的名称含有中文,gdal就难以将其打开。网上有许多帖子针对这个问题,比如https://blog.csdn.net/liminlu0314/article/details/6610069 但是经我亲测,并不能解决问题。下面给出我亲测可行的办法。
根据网上一篇文档所述(作者平芜泫public@korepwx.com),QString以utf-16的格式存储字符串。但是gdal只是根据文件名是否是utf-8编码,来决定如何读取文件名。所以,只要把qstring转化为utf-8编码的字符串,同时把设置gdal用utf-8来读取文件名即可。
1 qstring转化为utf-8
一般首先想到qstring.toLatin1()。latin1是西欧多字节编码,不是utf-8,故不正确;
正确的办法是
QString qstr;//文件名
QByteArray qa = QTextCodec::codecForName("utf-8")->fromUnicode(qstr);//qa现在存储的是文件名的utf-8编码
GDALDataset* img = (GDALDataset *)GDALOpen(qa.data(), GA_ReadOnly);
.....
2 gdal方面,在注册gdal之后(GDALAllRegister),立刻设置:
GDALAllRegister(); //GDAL所有操作都需要先注册格式
CPLSetConfigOption("GDAL_FILENAME_IS_UTF8", "YES"); //支持中文路径
gdal无法读取中文标题的图片的解决办法(结合Qt)相关推荐
- python读取excel图片尺寸_Python读取excel中的图片完美解决方法
excel中有图片是很常见的,但是通过python读取excel中的图片没有很好的解决办法. 网上找了一种很聪明的方法,原理是这样的: 1.将待读取的excel文件后缀名改成zip,变成压缩文件. 2 ...
- php怎么显示不了图片,php显示不了图片的解决办法,
php显示不了图片的解决办法PHP不能显示图片的解决方案,Php不能显示图片,因为源代码中除了img输出还有其他输出.解决方法是在调用头之前取消任何输出. 推荐: <PHP视频教程> 具体 ...
- 【50关于Visual Studio 2019控制台输出中文出现乱码问题及解决办法】
文章目录 关于Visual Studio 2019控制台输出中文出现乱码问题及解决办法 1.从.txt文件中读取输出出现乱码 2.从中文字符串中读取输出出现乱码 关于Visual Studio 201 ...
- mysql保存中文乱码的原因和解决办法
当你遇到这个mysql保存中文乱码问题的时候,期待找到mysql保存中文乱码的原因和解决办法这样一篇能解决问题的文章是多么激动人心. 也许30%的程序员会选择自己百度,结果发现网友已经贴了很多类似 ...
- mysql保存时乱码了_MySQL保存中文乱码的原因和解决办法
(3)MySQL的字符集设置. 这个是重点了,一般都是在这里搞错而出现了mysql乱码. mysql编码设置可以分为三种设置:数据库的编码.表的编码.和字段的编码. a.数据库的编码: 在sqlyog ...
- python逐行读取数据时出现错误_Python利用逐行读取readline()打印出现空行的解决办法...
Python Python开发 Python语言 Python利用逐行读取readline()打印出现空行的解决办法 在利用readline()进行逐行读取文件的时候,我们一般使用以下程序: f=op ...
- SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;
SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码; 参考文章: (1)SpringMVC项目中中 ...
- html背景图片拉伸解决办法
html背景图片拉伸解决办法 body {background-size: 100% 100%; //关键代码,直接拉伸背景图background-image: url("img/99.jp ...
- docx转doc时,防止公式被转成图片的解决办法
[转载]docx转doc时,防止公式被转成图片的解决办法 编辑社回复需要doc(Word 97-2003)格式的文档,可是将docx(Word 2007+)另存为doc格式时,发现公式被转成了图片.其 ...
最新文章
- 2021-2027年中国手机天线行业竞争格局分析及发展趋势预测报告
- [SOSP 17] Wukong+S : 不断演化的RDF数据的亚毫秒级别的状态流查询
- bash的配置文件定义
- stl中unordered_map 和 map的区别 ?
- String Stringbuilder StringBuffer的区别和应用
- Microsoft.TeamFoundation.VersionControl.Client.dll的位置
- 1203. 项目管理
- quarz设置定时器任务的有效时间段_quartz定时任务时间设置
- docker for mac的JSON配置文件中的hosts项修改后无法生效
- Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例
- TIOBE 4 月编程语言排行榜:Python 持续升温,Perl 苦苦挣扎
- php数据回显是什么意思,关于mysql:php脚本回显部分php而不是什么意图
- matlab fullbnt,Matlab2010下使用FULLBNT工具箱建立复杂的动态贝叶斯网络
- shader变体是什么_一种Shader变体收集和打包编译优化的思路
- 百度地图开发点连线形成路径
- 非常有意思的人体时钟
- 边缘提取——Prewitt算子和Sobel算子
- Scaled-YOLOv4: Scaling Cross Stage Partial Network 论文翻译
- 【nginx】nginx的使用
- 如何利用html制作电影影评网,HTML制作电影影评网 - 手册网
热门文章
- latex 中文书籍常见命令
- Expressing Fear(2019/1/4)
- 为什么不建议程序员做“外包”?
- 【Cancer Research】由Y染色体LINC00278编码的新型微肽与AR信号通路介导的男性食管鳞状细胞癌相关
- Oracle enterprise manager 13C 安装无法正常进行
- nexus3的配置阿里云代理仓库
- PBA大理石直线电机模组优势
- ADI demo PL工程的编译-以adrv9371x_zc706为例子之使用Cygwin
- 代理服务器(代理IP)的入门与简介
- Spring IoC容器:BeanFactory和ApplicationContext