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

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

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

相关内容

热门资讯

中国斯诺克选手赵心童即时排名升... 8月27日,在8月27日举行的世界斯诺克武汉公开赛四分之一决赛中,中国选手赵心童以5:1击败尼尔·罗...
A股最牛的两个字,不是“涨停”... 很多人以为,投资最重要的是“赚钱”。于是他们拼命找牛股,追热点,打听消息,学习各种复杂的技术指标,生...
B站上半年营收同比增长25%,... 北京时间8月27日,哔哩哔哩(NASDAQ:BILI,HKEX:9626,以下简称“B站”)发布20...
特朗普故伎重演挥“电力设备禁令... 8月27日,A股变压器、逆变器板块集体下挫。思源电气(002028.SZ)一字跌停,阳光电源(300...
美股存储芯片板块,大涨 美股存... 美股三大指数开盘涨跌不一,道指跌0.15%,标普500指数涨0.36%,纳指涨0.86%。英伟达涨6...
中公教育发布2026年半年报:... 8月27日,A股上市教育公司中公教育发布2026年半年度报告。报告期内,该公司营业收入11.69亿元...
国内SC原油期货主力合约涨2.... 8月27日,国内SC原油期货主力合约涨2.84%,报590元/桶。(科股宝播报)
伊朗议长与卡塔尔首相会晤,就缓... 8月27日,当地时间27日,伊朗议会议长卡利巴夫在德黑兰会见了到访的卡塔尔首相兼外交大臣穆罕默德。双...
苏泊尔:上半年净利润8.68亿... 新京报贝壳财经讯 8月27日,苏泊尔公告称,公司发布2026年半年度报告,实现营业收入114.1亿元...
ST新华锦:控股子公司上海荔之... 8月27日,ST新华锦公告称,因控股子公司上海荔之经营管理层拒不配合2026年半年度报告编制工作,公...