解决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编码,比较推荐。
效果图看下,已经正常显示了。