【发布时间】: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,所以它没有改变任何东西。字节只是以错误的编码解释。您需要通知显示字符的任何屏幕这些字节的编码方式。