[英]Converting QString from string in a file
我想在QLabel
設置文本,所以我需要使用QString
。 但是我讀了一個文件,文本中含有重音。 我嘗試了QString::fromUtf8()
但是它不起作用。
任何想法?
string line;
QString lineTranslate;
getline(file, line);
lineTranslate = QString::fromStdString(line);
m_nomCourant->setText(QString::fromLatin1("<u><strong>Nom courant :</strong></u> ") + lineTranslate);
所需的輸出:
Nom courant : Requin
Nom scientifique : Carcharhinus menalopterus
Habitat : Côtier / Dans les zones coralliennes jusqu'à -30m
Famille : Carcharhinidés
實際輸出:
Nom courant : Requin
Nom scientifique : Carcharhinus menalopterus
Habitat : C?tier / Dans les zones coralliennes jusqu'? -30m
Famille : Carcharhinid?s
編輯:您如何建議我使用具有多行的QString
?
您需要知道文件中使用了哪種編碼(字符集)。 然后,您將使用fromUtf8
或其他方式-使用QTextCodec
。
來自Qt docs的示例:
QTextCodec *codec = QTextCodec::codecForName("Shift-JIS");
QTextDecoder *decoder = codec->makeDecoder();
QString string;
while (new_data_available()) {
QByteArray chunk = get_new_data();
string += decoder->toUnicode(chunk);
}
delete decoder;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.