具有特殊字符的QString编码

时间:2012-12-12 15:55:00

标签: 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;  // display "a?.tmp" 
}

qDebug()&LT;&LT; fileName显示真正的值“â.tmp”但在将其转换为const char *之后,我没有成功获得正确的值。

我第二次尝试使用

const char* cfileName = QString::fromUtf8(fileName.toAscii().data());

但我仍然没有正确的值,它显示相同的内容:a?.tmp

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

ASCII字符集没有字符â,所以你要做的就是不可能。

你可以试试这个:

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