QTextBrowser 不显示非英文字符

QTextBrowser not displaying non-english characters

我正在开发一个 Qt GUI 应用程序来解析自定义 windows 二进制文件,该文件使用 wchar_t(默认 UTF-16 编码)存储 unicode 文本。我使用 QString::fromWcharArray 构建了一个 QString 并将其传递给 QTextBrowser::insertPlainText 像这样

wchar_t *p = ; // pointer to a wchar_t string in the binary file
QString t = QString::fromWCharArray(p);
ui.logBrowser->insertPlainText(t);

显示的文本正确显示ASCII字符,但非ASCII字符显示为矩形框。我在调试器中跟踪代码,p 指向一个有效的 wchar_t 字符串,构造的 QString t 也是一个与 wchar_t 字符串匹配的有效字符串。在 QTextBrowser.
上打印时会出现问题 我该如何解决这个问题?

首先read documentation。因此,根据系统的不同,您会有不同的编码 UCS-4UTF-16wchar_t 的大小是多少?

其次还有一个选择API:试试QString::fromUtf16.

最后你用的是什么角色? Hebrew/Cyrillic/Japanese/???.您确定您使用的字体支持这些字符吗?