【问题标题】:Is this UTF-8 encoding correct?这个 UTF-8 编码是否正确?
【发布时间】:2012-11-29 13:30:14
【问题描述】:

我有一个 Qt 应用程序 (C++) 和一个 unicode 字符串(在 QString 中)。 我将字符串发送给 2 个客户端,一个接收二进制数据,另一个接收 JSON。

当我发送以下字符串“Milanović”时,字母“ć”在客户端被搞砸了。虽然我什至不确定它是否从服务器正确发送。

我正在向接受二进制数据的客户端发送该字符的以下字节:c4 86。这就是我从 QString::toUtf8() 得到的。

对于 JSON,我使用的是 QJson,它将字符串转换为“MilanoviÄ”。嗯,这就是我在控制台中看到的。字节仍然是“c4 86”。

这是正确的,还是我应该在服务器端进行一些更改?我可以将 QJson 库更改为不对代码> 127 的字符进行转换,但我宁愿不进行转换,除非我必须这样做。请指教。

【问题讨论】:

  • 字节仍然是c4 86,所以它没有改变任何东西。字节只是以错误的编码解释。您需要通知显示字符的任何屏幕这些字节的编码方式。

标签: qt utf-8


【解决方案1】:

您应该让客户端告诉服务器他们真正想要什么编码,然后在将文本发送到客户端之前通过适当的 QTextEncoder 运行文本。

【讨论】:

    猜你喜欢
    • 2018-10-25
    • 1970-01-01
    • 2015-12-26
    • 2016-02-01
    • 2014-08-02
    • 2013-12-13
    • 2023-04-10
    • 2013-02-01
    • 2011-02-28
    相关资源
    最近更新 更多