QT 中 QString 中文转std::string 问题
创始人
2025-05-28 06:51:18
0

最后,本地调试Debug版本,发现安装中文路径下,安装路径为乱码,导致加载翻译文件、创建日志文件、加载动态库等等均失败。

对我而言,新发现新问题,先问度娘。尝试了很多解决方案,最终都以失败告终。

于无望处,突然柳暗花明,在一个帖子上看到这么一句话:

Qt中用于控制读出和写入文件系统时的字符编码由 QTextCodec::setCodecForLocale() 所决定。

加入 QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8")); 问题解决

当然,记得先添加头文件:#include

编译、启动、成功。再自测。

自测发现利用log4cpp模块创建日志文件时,需要利用std::string类型的参数。

但是,QSting类型直接利用toStdString()接口转换为std::string类型后,函数返回异常,没有成功创建日志文件。

再继续寻根问因,后来,发现需要进行一下中文转换:

QTextCodec::codecForName("gb18030")->fromUnicode(logFileName).data()

如上,这样转换后是std::string类型参数传入函数,创建日志文件正常。

再编译、启动、运行一切正常。

特此备录。仅供参考。具体环境,具体分析。

相关内容

热门资讯

突然,全线跳水!近9万人爆仓 5月27日,被视作反映市场风险偏好指标的加密货币持续跳水。 截至发稿,比特币跌2.67%,报7.52...
新易盛涨近9%,成交额超300... 3月20日消息,新易盛成交额超300亿元,现涨近9%。(科股宝播报)
日本计划到2030年引入AI机... 3月20日消息,据报道,日本经济产业省将汇总搭载人工智能(AI)、能够自主行动的机器人的普及计划,目...
南向资金净卖出额达50亿港元 3月20日消息,截至目前,南向资金净卖出额达50亿港元。(科股宝播报)
国债期货收盘集体下跌,30年期... 3月20日消息,国债期货收盘集体下跌,30年期主力合约跌0.42%报110.67元,10年期主力合约...
金饰克价两天跌约100元 3月20日消息,受夜盘国际金价跳水影响,3月20日,国内金饰价格重挫,多个品牌克价跌至1440元左右...
1分钟搞懂华为韬(τ)定律 一... 关注混知财经并回复下方词条,就能找到你想知道的答案!
算力租赁概念跌势扩大,协创数据... 3月20日消息,午后算力租赁概念跌势扩大,协创数据触及20cm跌停,此前超讯通信跌停,东方国信、新锦...
人工智能如何影响就业?六大判断... 罗志恒/文人工智能(AI)技术正引发新一轮产业和技术革命,全球资本市场率先反应并持续上涨。AI技术革...
世卫组织:正在为应对中东可能发... 3月20日消息,世界卫生组织发言人克里斯蒂安·林德迈尔19日说,目前在中东战事中,针对核设施及油田的...