zoukankan      html  css  js  c++  java
  • QT应用程序 安装路径中文异常问题

    【1】QT 安装中文路径启动异常问题

    最近在搞一个很简单的QT应用程序,开发环境VS2017 + QT5.9,线上异常报错:安装中文路径下启动崩溃~~~~

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Good Good Study, Day Day Up.

    顺序 选择 循环 总结

  • 相关阅读:
    深入学习Motan系列(二)——服务发布
    深入学习Motan系列(一)——入门及知识zookeeper储备
    Guava Cache 总结
    Jetty学习(一)
    群发百万邮件
    Project ACRN documentation
    Storage Performance Development Kit
    DPDK Test Plans
    golang 判断前缀后缀、包含关系
    golang multiconfig 示例
  • 原文地址:https://www.cnblogs.com/Braveliu/p/10880970.html
Copyright © 2011-2022 走看看