【问题标题】:QTextCodec::setCodecForCStrings is GONE in Qt5QTextCodec::setCodecForCStrings 在 Qt5 中已消失
【发布时间】:2015-05-01 23:38:56
【问题描述】:

我的项目中所有显示的文本都是希腊语。我没有使用tr(),直接使用希腊字符。对于我使用的正确编码:

QTextCodec::setCodecForCStrings(QTextCodec::codecForName("ISO 8859-7"));//for Greek

Qt5 将setCodecForCStrings 带走,所有字符都显示为"???????"。有解决办法吗?

请注意,这是一个大项目,我想避免对每个字符串都使用代码 程序。

【问题讨论】:

  • 首选UTF-8,可以表示所有字符。 ??????? 是有损编码转换的标志,当目标编码不能代表被转换的字符时。您可以使用 UTF-8 来解决此问题,它可以表示所有字符。

标签: unicode qt5


【解决方案1】:

谢谢埃塞利亚

所以用 UTF-8 编码保存我的所有文件解决了这个问题。

如果您使用的是 Qt Creator,请将默认编码更改为 UTF-8:
首选项 -> 文本编辑器 -> 默认编码 ...选择 UTF-8
然后对于现有文件,转到编辑->选择编码并将其更改为 UTF-8

对于任何想要了解更多细节的人来说,请看这里http://www.macieira.org/blog/2012/05/source-code-must-be-utf-8-and-qstring-wants-it/

【讨论】:

    猜你喜欢
    • 2021-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    相关资源
    最近更新 更多