解决MSVC 中文显示问题

首先删除CPLSetConfigOption(“GDAL_FILENAME_IS_UTF8”,“NO”);
然后转为Uft8,即
QString fileName = QFileDialog::getOpenFileName(this,“Open Image”,"",(“所有文件(.)”));
QByteArray b = fileName.toUtf8();
const char* c = b.data();
GDALDataset* dataSet = (GDALDataset*)GDALOpen(c,GA_ReadOnly);
这样就能能读取中文路径了,但是要在界面上正确显示中文,一个方法是将有中文字符串的地方加到
QStringLiteral();函数里面,
另一种一劳永逸的方法是在头文件前面加上
(划重点)
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
此方法一劳永逸,
强制编译后的执行文件采用UTF-8编码,比较推荐。

效果图看下,已经正常显示了。


本文介绍了如何通过删除GDAL配置选项并转换文件名至UTF-8,配合pragma指令强制MSVC执行文件使用UTF-8,解决Windows平台下IDE中中文路径显示问题。展示了有效的方法和一劳永逸的编码设置技巧。
1648

被折叠的 条评论
为什么被折叠?



