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类型参数传入函数,创建日志文件正常。

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

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

相关内容

热门资讯

石药二代掌舵,锁定创新驱动下的... 石药集团(01093 HK)近期大消息不断,先是创新子公司新诺威向港交所递交招股书,拟冲刺“A+H”...
坐着骆驼送快递,中东“淘金客”... 漫无边际的沙漠中,一队骆驼踩着驼铃声经过,坐在骆驼上的不一定是当地传统的游牧民族,也可能是一个正在赶...
字节跳动,为什么还在大幅涨薪?... 这年头还能大幅涨薪的企业,可以说是极品,尤其是在非常卷的互联网行业。近期有地产媒体观察,在北京海淀区...
实控人被采取刑事强制措施,两家... 财联社、澎湃新闻记者 唐莹莹据财联社报道,交建股份(603815.SH)12月22日晚公告称,公司实...
2025年绿色消费公益研讨会在... 中国商报(记者 于佳鑫)近日,由中国商业联合会与中华环境保护基金会共同主办的“推动绿色消费,推广绿色...
流金科技:未来创新增长点主要源... 新京报贝壳财经讯(记者黄鑫宇)12月22日,北交所上市公司北京流金岁月传媒科技股份有限公司(即流金科...
第二个14万亿GDP大省有新计... 本文来源:时代周报 作者:史航又一个经济大省宣布GDP突破14万亿。近日江苏省的“十五五”规划建议(...
华夏幸福:董事会拒绝平安人寿增... 新京报贝壳财经讯 12月22日,华夏幸福发布公告称,公司董事会12月19日下午收到公司股东平安人寿邮...
阿里巴巴员工数“锐减”后再次增... 大家好,我是卫明。之前经常看到有媒体对阿里巴巴员工数有点评,阿里巴巴也曾在2023年对网络上夸大或者...
营收未达10亿的乐摩科技,瓶颈... 文|翠鸟资本12月3日,乐摩科技(2539.HK)以每股40港元的发售价登陆港股。在港股新股普遍“无...