• 我的QT程序编码设置


    QT的编码是实在是个复杂的问题

    我的环境,qt4.8+qtcreator2.4+vs2008+winxp(win7)

    源代码文件编码,只有两个选择system或者utf8(带BOM) 

    初步结论:

    文件篇: 开发win32程序,首选使用system(如果msvc系列,system几乎是必然;gcc系列,可以不用,但对于rc等一些特定文件,还是需要system编码)

    开发 linux程序,首选utf-8 ,其他的就不用考虑了

    字符串篇:(a)全面使用QString,所有能使用的地方都用QString;

    (b)如果可以用英文,那就全面使用英文,避免使用non-ascii字符;而对于界面部分,则采用qm翻译方案;

    (c)使用QT_NO_CAST_FROM_ASCII 和 QT_NO_CAST_TO_ASCII,禁止char*和QString隐式互转;

    (d)对于用户可见/需要翻译的部分,务必使用tr/QT_TR_NOOP等

    (e)对于用户不可见/不要翻译的部分,统一用Latin1,并使用QLatin1String包括 

     ============================================

     方案一:windows+qt4+msvc20xx+win32程序

    源代码文件:采用system编码

    其他文件:采用system编码

    用户可见部分文字:用本地语言,但一定tr/QT_TR_NOOP包括。——虽然不是正统方法,但还是可以用的

    用户不可见部分文字:用Latin1,并且统一用QLatin1String包括 

    指定QTextCodec三剑客,各种类型、函数均只使用QString 

    推测:在不同语言系统中应该可以正常显示,但条件所限无法测试;

    --------------------------------------------------------------------------------------------- 

    方案二:windows+qt4+gcc+win32程序

    源代码:utf-8

    其他文件:system或者ansi

    其他同方案一

    ---------------------------------------------------------------------------------------------- 

    终极方案:全面E文话

    所有文件,所有内容均采用E文,也就是仅使用ascii字符

    用户可见部分:采用qm翻译 

    所有字符串均只使用QString 

  • 相关阅读:
    Luogu P3919【模板】可持久化数组(可持久化线段树/平衡树)
    线段树||BZOJ5194: [Usaco2018 Feb]Snow Boots||Luogu P4269 [USACO18FEB]Snow Boots G
    线段树||BZOJ1593: [Usaco2008 Feb]Hotel 旅馆||Luogu P2894 [USACO08FEB]酒店Hotel
    CF 610E. Alphabet Permutations
    BZOJ 1227: [SDOI2009]虔诚的墓主人
    BZOJ1009: [HNOI2008]GT考试
    BZOJ3674: 可持久化并查集加强版
    BZOJ3261: 最大异或和
    BZOJ2741: 【FOTILE模拟赛】L
    BZOJ3166: [Heoi2013]Alo
  • 原文地址:https://www.cnblogs.com/kevinzhwl/p/2657309.html
Copyright © 2020-2023  润新知