2010-12-02 219 views

回答

66

有一个QString函数调用fromUtf8,需要一个const char*

QString str = QString::fromUtf8(content.c_str()); 
+0

啊,忽略它。谢谢! – 2010-12-02 17:54:34

+14

更高效:`QString :: fromUtf8(content.data(),content.size())` – 2011-04-29 21:22:23

47

QString::fromStdString(content)正常工作为好。它应该给出完全相同的结果,因为它返回fromUtf8(content.data(), int(content.size()))

4

通常,进行转换的最佳方法是使用方法fromUtf8,但问题在于当您具有字符串区域设置相关性时。

在这些情况下,最好使用fromLocal8Bit。例如:

std::string str = "ëxample"; 
QString qs = QString::fromLocal8Bit(str.c_str());