当前位置: 首页 > wzjs >正文

个人 做自媒体 建网站作品怎么推广

个人 做自媒体 建网站,作品怎么推广,分销商城网站建设,网站关键词优化网站推广文章目录 [toc]1 Qt Windows下中文乱码解决方式2 编码选择3 QString转QByteArray4 qmake编译Missing closing " quote错误 更多精彩内容👉内容导航 👈👉Qt开发经验 👈 1 Qt Windows下中文乱码解决方式 乱码原因 当>MSVC…

文章目录

    • @[toc]
      • 1 Qt Windows下中文乱码解决方式
      • 2 编码选择
      • 3 QString转QByteArray
      • 4 qmake编译`Missing closing " quote`错误

更多精彩内容
👉内容导航 👈
👉Qt开发经验 👈

1 Qt Windows下中文乱码解决方式

乱码原因

  • 当>=MSVC2013编译器编译程序的时候,会分析源文件采用何种编码,有BOM标识符则可以正确识别其编码,若没有BOM标识符则认为其使用本地字符编码local字符集。我们使用的windows系统本地字符编码为GBK编码。
  • Local字符集是什么?取决于你的设置QTextCodec *codec = QTextCodec::codecForName(???);
  • 如果源文件是UTF-8+BOM的编码方式,还需要在头文件加入
  • 使用qtcreator创建main.cpp,它默认代码里的汉字使用utf8字符集。msvc编译器默认汉字使用gb18030字符集

解决办法

  • 方法1:在QtCreator中打开工具->选项->文本编辑器->文本编码,默认编码设置为tuf-8,UTF-8 BOM设置为总是删除;

  • 办法2:在.pro文件中添加下列代码,注意不能与方法3同时使用,否则编译失败;

    • 只能在msvc编译器下使用,否则编译失败

    • 如果要同时将源字符集和执行字符集设置为 UTF-8,可以使用 /utf-8 编译器选项作为快捷方式。 它等效于命令行上的 /source-charset:utf-8 /execution-charset:utf-8。 这些选项中的任意选项都默认启用 /validate-charset 选项。

      在MSVC 2015中,/utf-8选项是从14.0.23506版本开始支持的。

      因此,只有MSVC 2015 Update 3及更高版本的编译器才支持/utf-8选项。

      如果您的MSVC 2015版本低于14.0.23506,那么您需要升级到最新的版本才能使用/utf-8选项。

      您可以通过“帮助”->“关于Microsoft Visual Studio”菜单来查看您的MSVC 2015版本号。如果您的版本号低于14.0.23506,可以尝试升级到最新的更新版本,或者使用其他选项来指定源文件的字符集编码。

    # 使用utf-8编码
    msvc {
    QMAKE_CFLAGS += /utf-8
    QMAKE_CXXFLAGS += /utf-8
    }/* VS2010 记得一定要打上SP1补丁*/
    //VC2010~2015 必须加入这行预编代码
    // 此编译器指令在 Visual Studio 2015 Update 2 及更高版本中已过时
    #pragma execution_character_set("utf-8")#VS2017 必须在编译器中设置,这是QT的PRO设置,source-charsetr指源代码、execution-charset编译后的程序或库,可以直接加入 QMAKE_CXXFLAGS += /utf-8 
    contains( CONFIG, "msvc" ): QMAKE_CXXFLAGS +=  /source-charset:utf-8 /execution-charset:utf-8
    contains( CONFIG, "msvc" ): QMAKE_CFLAGS +=  /source-charset:utf-8 /execution-charset:utf-8#VS2017 必须在编译器中设置,这是QT的PRO设置, 直接/utf-8时,有些编译器不支持
    contains( CONFIG, "msvc" ): QMAKE_CXXFLAGS += /utf-8 
    contains( CONFIG, "msvc" ): QMAKE_CFLAGS +=  /utf-8 
    
    • 详情
  • 办法3:在源文件中添加

    #if defined(_MSC_VER) && (_MSC_VER >= 1600)    
    # pragma execution_character_set("utf-8")    
    #endif// main函数中添加//设置中文编码
    #if (QT_VERSION <= QT_VERSION_CHECK(5,0,0))
    #if _MSC_VERQTextCodec *codec = QTextCodec::codecForName("gbk");
    #elseQTextCodec *codec = QTextCodec::codecForName("utf-8");
    #endifQTextCodec::setCodecForLocale(codec);QTextCodec::setCodecForCStrings(codec);QTextCodec::setCodecForTr(codec);
    #elseQTextCodec *codec = QTextCodec::codecForName("utf-8");QTextCodec::setCodecForLocale(codec);
    #endif
    
  • 如果源文件是UTF-8+无BOM的编码方式,则一定不能加#pragma execution_character_set(“utf-8”),不然会产生乱码。

  • 综上所述,解决Qt5中文乱码的一个比较好的方式,源文件设置BOM标识的utf-8编码,执行字符集为设置为utf-8。这样源字符集,执行字符集都是一致。

2 编码选择

  1. 如果该工程不需要跨平台使用(只在win),那么工程设置请使用GBK的编码方式.
  2. 如果该工程要跨平台使用(win+linux),那么工程设置请使用UTF-8+BOM的编码方式,并在文件中添加# pragma execution_character_set("utf-8") ;
    • 但是需要注意的时utf-8 bom编码会在文件头部默认添加3个字符,这三个字符会导致一些问题,如css样式表失效或加载GLSL文件失效。

3 QString转QByteArray

三种方式

  • toUtf8() :输出UTF-8编码的字符集
  • toLatin1():ISO-8859-1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF。亦称为Latin1,中文返回?
  • toLocal8Bit():是本地操作系统设置的字符集编码或 QTextCodec::setCodecForLocale(codec);指定的编码
QString str("Hello World 你好"); 
QByteArray bytes = str.toUtf8();       // QString转QByteArray方法1
QByteArray bytes = str.toLatin1();     // QString转QByteArray方法2
QByteArray bytes = str.toLocal8Bit();  // QString转QByteArray方法3

4 qmake编译Missing closing " quote错误

  • Mingw编译器,QtCreator10.04,Qt5.14.2就会报错误
  • 如果使用MSVC就不会
  • 是由pro文件中有中文,并且文件编码格式不对导致的,使用文本编辑器打开文件,设置为utf-8 bom就可以了。



文章转载自:

http://kDli9C4i.qcwrm.cn
http://4BxPrRgZ.qcwrm.cn
http://B6aZZk76.qcwrm.cn
http://HFhkBnbS.qcwrm.cn
http://rewK4zCU.qcwrm.cn
http://RYXJwEJY.qcwrm.cn
http://3AL2smxS.qcwrm.cn
http://JhohCJZm.qcwrm.cn
http://1DlDbKCo.qcwrm.cn
http://49EuYcVt.qcwrm.cn
http://LgSIUJb8.qcwrm.cn
http://LG16tRmY.qcwrm.cn
http://t0XAqDOv.qcwrm.cn
http://dKI0KZg3.qcwrm.cn
http://TXNMcEqI.qcwrm.cn
http://MsYcjzYU.qcwrm.cn
http://vbFHKdRY.qcwrm.cn
http://BHP8K2Od.qcwrm.cn
http://BZ1kIuIt.qcwrm.cn
http://mbvegFy2.qcwrm.cn
http://d1DkBQgQ.qcwrm.cn
http://jaVgIBk5.qcwrm.cn
http://jXFAPtZW.qcwrm.cn
http://AbrK63cb.qcwrm.cn
http://Xakhklb0.qcwrm.cn
http://A0gLJ8Kp.qcwrm.cn
http://1XmIDa7Y.qcwrm.cn
http://vDBCcc8Y.qcwrm.cn
http://gswI8P2k.qcwrm.cn
http://rDWqUabZ.qcwrm.cn
http://www.dtcms.com/wzjs/747846.html

相关文章:

  • 国外的响应式网站模板西安网站建设培训班
  • 找公司建网站报价个人网站找谁建设好
  • 鹤壁网站制作深圳外贸网站建设制作
  • php网站开发步骤iis7 发布asp网站404
  • 地税局网站怎么做变更门户网站建设费用
  • 阿里云网站备份网站建设全程揭秘pdf
  • 直播网站怎么做啊公司网站设计广州
  • 苏州建设网站多少钱柞水县住房和城乡建设局网站
  • 佛山网站设计怎么做本地最好的网站开发建设公司
  • 太原企业网站模板建站福建建设厅官方网站
  • 法律咨询网站开发wordpress网站地图插件
  • wordpress自动审核网站优化多少钱
  • 宝石网站建设黄页网站建设
  • 商城网站建设高端星子网站建设
  • 凡科建站怎么建网站成都企业做网站
  • 校园网站建设资金来源有市场营销专业课程
  • 哪个网站可以做体育主播王稳庄网站建设
  • 青岛建设企业网站wordpress创建搜索页面
  • 淘宝客推广怎么做网站备案做网站大概费用
  • 找客户资源的网站上海做网站哪家便宜
  • 东莞市小程序定制开发丨网站建设百度推广登陆平台
  • 淮南公司做网站wordpress阅读器
  • 网站开发项目简单描述内网如何做网站访问
  • wordpress全站注明国内做化妆刷的比较好的网站
  • 给企业做网站需要什么信息抖音seo公司帝搜平台
  • 网站建设要做哪些工作室免费下载ppt模板的软件
  • 杭州网站设计公司有哪些中山网站网站建设
  • 徐州模板建站定制网站怎么给网站设置关键字
  • 公司建设一个网站北京网站建设公司
  • 河南阿里巴巴网站建设引流推广平台软件