【问题标题】:How convert QString to char correctly when Chinese characters are involved涉及汉字时如何正确将QString转换为char
【发布时间】:2014-11-28 11:24:38
【问题描述】:

Qt 对象基于 Qt4 并在 CentOS 7 上运行。

我从getExistingDirectory 得到一个 QString 文件目录。文件名包含中文字符。然后我用toLocal8Bit转换成charchar变量出现乱码。

我用GBK、big5等试过QTextCodec,没有任何进展。

【问题讨论】:

  • 想知道这是怎么回事...中文有成千上万个字符,一个8位字符最多只能容纳256个字符,其中一些是保留的...

标签: qt encoding char qstring


【解决方案1】:

CentOS 上的toLocal8bit 可能不支持 unicode,而是使用与 ascii 兼容的 unicode 编码的toUtf8

但是,任何解释 char* 的东西都需要知道它是 UTF8 格式,否则您仍然会在接收端看到垃圾。

【讨论】:

    猜你喜欢
    • 2020-04-20
    • 2012-11-04
    • 1970-01-01
    • 2014-08-17
    • 2020-11-13
    • 2014-01-16
    • 2015-01-03
    • 2011-07-27
    • 1970-01-01
    相关资源
    最近更新 更多