私たちのアプリケーションには「Word to Download」機能があります。実際のバイナリの.docファイルを作成するのではなく、HTMLドキュメントを作成し、そのドキュメントがWordドキュメントであることを示すMIMEタイプを設定します。ここでは、私たちが使用しているメソッドの抜本的なバージョンです。上記の例htmlSourceでHTMLを漢字でWordにダウンロード
private FileContentResult ExportToWord(string htmlSource, string filename)
{
StringBuilder doc = new StringBuilder();
doc.Append("<html><body>");
doc.Append(htmlSource);
doc.Append("</body></html>");
byte[] buffer = Encoding.UTF8.GetBytes(doc.ToString());
FileContentResult result = new FileContentResult(buffer, "application/msword");
result.FileDownloadName = string.Format("{0}.doc", filename);
return result;
}
それが何か含まれますので、文書の本文です:私たちはhtmlSourceへのUnicode文字を導入するまで、上記の作品のすべてがうまく
<p>This is the first paragraph.</p>
を。 htmlSourceが
<p>这是一个测试</p>
が含まれている場合、我々は
这是一个测试
を取得するWord文書に私たちはEncoding.UnicodeとEncoding.UTF32でEncoding.UTF8を交換しようとしましたが、両方のケースでWordはすべて表示されて終わります各文字の間にヌル/スペースのマークアップ(中国語の文字列はまだ正しく表示されません)。
私はServer.HtmlEncodeを中国語の文字列に対して使用しようとしましたが、それは私に同じ文字列の漢字を返します。
私はこの問題を解決する方法を失っています。