HtmlAgilityPackを使用したHTMLでのエンコーディング

encoding html-agility-pack

質問

中国語のエンコーディングとファイルへの保存についての質問があります。私は現在、HtmlAgilityPackを使ってHTMLを解析し、いくつかのことを行い、ファイルに保存し直しています。中国語(GB2312(簡体字))など、エンコーディングに問題があります。私がファイルを開くと、エンコードを読み込み、HtmlAgilityPack

doc.Save(this._filePath, reader.CurrentEncoding);

中国語の文字は完全に切り捨てられます。同じファイルに保存し直して現在のエンコーディングを維持する方法についてのアイデアはありますか?私はまた、HtmlAgilityPackでエンコーディングを取得しようとしました。

FileStream fs = new FileStream(this._filePath, FileMode.Open);

StreamReader reader = new StreamReader(fs);

HtmlDocument doc = new HtmlDocument();
doc.Load(reader);

Encoding enc = doc.DeclaredEncoding

fs.Close();

doc.Save(this._filePath, enc);

しかしそれはどちらもうまくいかなかった。何か案は?

受け入れられた回答

だから、いくつかの作業の後、MetaタグからDeclaredエンコーディングを読み込むことで、動作させることができました。私はそれが最初にひどく形成されましたが、実際それは正しかったです。 DeclaredEncodingはメタタグからエンコーディングを読み込みました。

ファイルが保存されても、それはANSI形式で保存されていましたが、変更することはできませんでした。しかし、メタタグのエンコーディングは、ブラウザでレンダリングしたときにファイルをチェックしたままにしていたようでした。それが誰かを助けることを望む。



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ