【问题标题】:Qt Encoding QuestionsQt 编码问题
【发布时间】:2011-03-09 16:17:10
【问题描述】:

我正在编写一个具有国际支持的 Windows 中的 Qt 程序。 代码如下所示:

QTextCodec *p = QTextCodec::codecForName("GBK");

当程序在 GBK 本地机器上运行时,它工作得很好,但在非 GBK 环境中,p 总是具有 NULL 的值。我确信目标环境已经安装了 GBK 代码页。

为什么会这样?谢谢。

【问题讨论】:

    标签: qt internationalization


    【解决方案1】:

    GBK-codec 的代码在 qcncodecs4.dll 中,该文件位于 codecs 插件目录中。您部署的程序必须找到这个插件:查看我对问题Qt dll deployment on windows的回答

    【讨论】:

    • 感谢您的回复。我按照 Qt 文档上的说明进行操作: 1. 在 main.cpp 中添加一行:Q_IMPORT_PLUGIN(qcncodecs) 2. 在 pro 中添加一行:QTPLUGIN += qcncodecs 但是我得到一个构建错误::: error: cannot find -lqcncodecs
    • 你是静态链接Qt吗?因为如果您不是,则无需将其与您的二进制文件链接。只需确保它对已部署的程序可用,例如:将其复制到应用程序旁边的插件文件夹并相应地设置 qt.conf 文件。
    • 是的,我正在静态构建 Qt,现在一切正常。谢谢大家。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多