Encoding 具有特殊字符的QString编码

Encoding 具有特殊字符的QString编码,encoding,utf,qstring,Encoding,Utf,Qstring,我正在尝试将具有特殊字符的QString转换为const char,但没有成功。 我的职能是: void class::func(const QString& fileName) // fileName = "â.tmp" { qDebug()<< fileName; // display "â.tmp" const char* cfileName = fileName.toAscii().data(); qDebug() << cfileName

我正在尝试将具有特殊字符的QString转换为const char,但没有成功。 我的职能是:

void class::func(const QString& fileName) // fileName = "â.tmp" 
{ 
  qDebug()<< fileName; // display "â.tmp"
  const char* cfileName = fileName.toAscii().data();
  qDebug() << cfileName;  // display "a?.tmp" 
}
但是我仍然没有正确的值,它显示相同的内容:
a?.tmp


如何修复此问题?

ASCII
字符集没有字符
-
,因此您尝试执行的操作是不可能的

你可以试试这个:

const char* cfileName = = fileName.toUtf8().data();
const char* cfileName = = fileName.toUtf8().data();