以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
从你给出的描述和截图来看,你在使用CLion进行Qt开发时遇到了中文乱码和非乱码共存的问题。这个问题可能涉及到编码设置、控制台输出等多个方面。以下是一些可能的解决方案:
1. 设置正确的编码
确保你的源代码文件是以UTF-8或者其他合适的编码保存的。在CLion中,你可以在右下角的状态栏查看和更改当前文件的编码。
2. 控制台输出设置
在Qt中,你可能需要设置控制台以正确的编码显示输出。你可以尝试在程序的开始处添加以下代码来设置控制台输出编码:
#ifdef Q_OS_WIN
QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QCoreApplication::setCodecForLocale(codec);
#endif
这段代码会在Windows操作系统上设置Qt应用程序的本地编码为UTF-8。
3. 检查字符串的获取和处理
在你的代码中,你是如何使用qDebug()和cout输出中文的?确保你在获取和显示字符串时使用了正确的编码。例如,如果你从某个控件中获取文本,确保该控件是以正确的编码显示文本的。
4. 环境变量设置
从提供的截图来看,你设置了环境变量QT_ASSUME_STDERR_HAS_CONSOLE=1。这个环境变量可能会影响控制台输出。尝试移除或更改这个环境变量,看看是否解决了问题。
5. 检查CLion运行配置
检查CLion的运行/调试配置,确保一切设置正确。特别是在“运行”部分,确保选择了正确的可执行文件和工作目录。
6. 重新构建项目
尝试清理并重新构建你的项目,看看问题是否仍然存在。
总结
乱码问题通常与编码、控制台输出和环境设置有关。根据上述建议,检查并调整你的代码和配置,看看是否能解决你的问题。如果问题仍然存在,可能需要更深入地检查你的代码和环境设置。