0

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

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

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

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

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

4

1 回答 1

0

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

于 2012-11-30T11:16:09.373 回答