2009-07-03 9 views
0

ここにはlinkがあります。ここでは、Webページコンテンツの取得用のコードがあります。しかし、私は問題があります:私は間違ったエンコーディングのテキストを持っています。私はそれを修正することができますか?ありがとう。ページコンテンツからのC++とQt - エンコーディング

EDIT: 私はページからデータを取得しようとしている:

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

となった:alt text http://img44.imageshack.us/img44/6141/kfastwikimainwindow.png

EDIT2: を私はHTML-にすべてのデータを保存QWebViewに表示してください。

+0

詳細あなたはどんなエンコーディングを期待していますか?何を得ていますか? – Gerald

答えて

2

正しいエンコーディングで表示されていると思いますが、正しいエンコーディングで表示されていないだけです。私は簡単なテストをしましたが、それはVisual Studio HTML Visualizerで表示したときのように見えますが、データをファイルに保存してブラウザで開くと正しくエンコードされます。

+0

ブラウザは自動エンコーディングを使用します。したがって、通常の見解があります。 – Ockonal

+1

私はあなたの質問を理解していないかもしれません。 QNetworkAccessManagerはデータを生のバイト配列として返しますが、エンコーディングでは何も行いません。データはUTF-8エンコーディングで返されます。これはあなた次第です。 – Gerald

+0

たぶん... TextEditにデータを貼り付けることにはいくつかの問題があります。私はテストする必要があります...返信いただきありがとうございます。 – Ockonal

0

私が理解したところでは、それ自体がエンコーディングを持っていない(または知っている)エンコーディングであるQByteArrayとしてデータを取得します。どのように表示するためにデータを渡すかによって、local8bitとして扱われるかもしれませんが、あなたがリンクしたウェブサイトはutf-8です。この場合、QTextCodecに渡して正しいエンコードを検出して使用することができます(QTextCodec::codecForHtml()が面白いかもしれません)。あるいは、あなたがいつもutf-8としてウェブサイトを利用できることが確かであれば、QString::fromUtf8()を使用してください。