중국어 인코딩과 파일 저장에 대한 질문이 있습니다. 나는 현재 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);
그러나 그것도 작동하지 않았다. 어떤 아이디어?
그래서 몇 가지 작업을 마친 후에, 나는 선언 된 인코딩을 메타 태그 밖으로 읽음으로써 작동하도록했습니다. 비록 초기에 나쁘게 형성되었지만 실제로는 정확했습니다. DeclaredEncoding은 메타 태그에서 인코딩을 읽었습니다.
파일을 저장할 때, 그것은 여전히 ANSI 형식으로 저장하고, 나는 그것을 바꿀 수 없습니다. 그러나 메타 태그 인코딩은 브라우저에서 렌더링 할 때 파일을 확인 상태로 유지하는 것처럼 보였습니다. 희망은 누군가를 돕습니다.