2009-07-03 72 views
0

這裏是link其中我得到了一個網頁內容獲取代碼。但是我遇到了麻煩:我的文本編碼錯誤。我能糾正它嗎?謝謝。C++和Qt - 從頁面內容編碼

編輯: 我試圖從頁面獲取數據:

http://ru.wiktionary.org/wiki/example

,並得到:alt text http://img44.imageshack.us/img44/6141/kfastwikimainwindow.png

EDIT2: 我剛纔的所有數據保存到HTML的文件並在QWebView中顯示它。

+0

更多細節;你期待什麼編碼,你會得到什麼? – Gerald 2009-07-03 19:19:08

回答

2

我想你會得到正確的編碼,它只是沒有正確的編碼顯示。我做了一個快速測試,看起來像是用Visual Studio HTML Visualizer顯示它的樣子,但是如果我將數據保存到文件並用瀏覽器打開它,它會被正確編碼。

+0

瀏覽器使用自動編碼。所以有正常的看法。 – Ockonal 2009-07-03 20:00:49

0

根據我的理解,您檢索數據爲QByteArray,它本身並不具有(或不知道)編碼。根據你傳遞數據的顯示方式,它可能會被視爲local8bit,但你鏈接的網站是utf-8。在這種情況下,您可以通過QTextCodec傳遞它來檢測並使用正確的編碼(此處可能有趣的QTextCodec::codecForHtml()),或者如果您確定始終將網站設爲utf-8,請使用QString::fromUtf8()