2015-05-12 44 views
0

我正在將Qt4項目移植到Qt5(Qt 5.4.1 + VS2013),該項目有一些字符串翻譯。源文件是UTF-8編碼的。但是今天我發現這段代碼不起作用(它們在Qt4中都運行良好)。爲什麼這些字符串不是由Qt 5翻譯的

this->paraList.push_back(QPair<QString,QString>(QString(tr("℃:")), QString(tr("Ω")))); 

'paraList'是一個QList,其中的字符串最終顯示在QTableWidget中。他們都正確顯示在QLiguist,但是當我的應用程序運行,攝氏符號和符號歐姆不正確地翻譯,如下

enter image description here

但所有其他字符串被正確翻譯。我的區域設置是zh_CN。爲什麼這兩個字是那麼特別

+1

您確定您的應用程序中使用的字體是否支持這些符號? – TheDarkKnight

+0

是否有可能這些翻譯是在一個單獨的翻譯文件('* .qm')中?如果是這樣,那個文件是否加載到翻譯器中? – Zaiborg

+1

在Qt 5.4 + VS2013中,它適用於我。我認爲@TheDarkKnight是正確的,與字體的問題。 – gomons

回答

2

問題是編碼。您正在使用非ASCII字符作爲翻譯模式。 Qt5在Ct字符串轉換方面發生了一些變化(我不記得細節),我懷疑這可能是一個問題。

嘗試使用trUtf8這應該解決問題。

相關問題