zoukankan      html  css  js  c++  java
  • Qt使用MSVC编译器不能正确显示中文的解决方案

    用VisualStudio做为IDE,使用Qt框架,显示中文,会出现乱码的情况。

    原因:MSVC编译器虽然可以正常编译带BOM的UTF-8编译的源文件,但是生成的可执行文件的编码是Windows本地字符集,比如GB2312。在可执行文件中,字符串是以GB2312编码的,而可执行程序执行到该语句时,对这个字符串却是以UTF-8解码的,这样就会出现乱码。

    解决方法有两种:

    1.使用QStringLiteral(str)宏封装字符串,但此种方法不能使用tr()函数用于翻译字符串。

    QString str = QStringLiteral("使用中文");

    2.强制MSVC编译器采用UTF-8编码生成可执行文件,需要在每个使用到中文字符串的头文件和源文件的前部加入如下语句:

    #pragma execution_character_set("utf-8")

  • 相关阅读:
    Js 30 BOM
    js面向对象
    js模态窗口
    js默认行为(也称默认事件)
    框架的控件隐藏
    20150706 js之定时器
    sublime快捷方式和node.js
    js回调函数2
    Hibernate 多对一
    Hibernate入门之配置文件
  • 原文地址:https://www.cnblogs.com/touch-skyer/p/10588932.html
Copyright © 2011-2022 走看看