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.

    顺序 选择 循环 总结

  • 相关阅读:
    nginx2
    nginx1
    将Tomcat设置为自动启动的服务最快捷方法
    keepalived VS zookeeper
    Linux CentOS 7 下 Apache Tomcat 7 安装与配置
    使用curl 命令模拟POST/GET请求
    netty3---传统IO,NIO,nettyIO
    个人或小型企业站该如何选择服务器?
    如果你不懂备案,那我简单点跟你说
    SAE Java相关问题小结
  • 原文地址:https://www.cnblogs.com/Braveliu/p/10880970.html
Copyright © 2011-2022 走看看