我遇到一个问题,希伯来语字符串反向显示。我使用QTableWidget来显示一些信息,这里的字符串正确显示使用:
CString hebrewStr; hebrewStr.ToUTF8();
QString s = QString::fromUtf8( hebrewStr );
在我程序的另一部分中,相同的字符串显示在屏幕上,但不使用QT,这是反向显示的内容:
CString hebrewStr;
hebrewStr.ToUTF8();
在这两种情况下,我都调试过hebrewStr.ToUTF8()并生成了完全相同的unicode字符串,但该字符串仅在QTableWidget中正确显示。所以我想知道Qt是否会自动反转给定的希伯来语字符串(因为它是一种从右到左的语言)。谢谢
是的,在本例中,QString
根据UTF-8编码的字符串生成完整的unicode wchar_t
。如果你想在MFC中做类似的事情,你应该使用CStringW
并解码字符串。
使用MultiByteToWideChar
进行UTF8到CStringW的转换。
StackOverflow中的连接问题。