Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6200961
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 24, 20262026-05-24T04:27:53+00:00 2026-05-24T04:27:53+00:00

We have a Download to Word feature in our application. Rather than creating an

  • 0

We have a “Download to Word” feature in our application. Rather than creating an actual binary .doc file we create an HTML document and set the MIME type to indicate it’s a Word document. Here’s a stripped-down version of the method we’re using.

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;
}

In the above example htmlSource is the body of the document, so it would contain something like:

<p>This is the first paragraph.</p>

All of the above works just fine until we introduce Unicode characters into htmlSource. If htmlSource contains

<p>这是一个测试</p>

then in the Word document we get

这是一个测试

We’ve tried replacing Encoding.UTF8 with Encoding.Unicode and Encoding.UTF32 but in both cases Word ends up displaying all the markup with null/space between each character (and the Chinese strings still don’t show up correctly).

I’ve also tried using Server.HtmlEncode against the Chinese string, but that gives me back the same string of Chinese characters.

I’m at a loss as to how to solve this problem.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-24T04:27:54+00:00Added an answer on May 24, 2026 at 4:27 am

    As it turns out, while finding the solution wasn’t easy the actual implementation was pretty simple. We just changed this line:

    byte[] buffer = Encoding.UTF8.GetBytes( doc.ToString() );
    

    To this:

    byte[] buffer = Encoding.Unicode.GetPreamble()
        .Concat( Encoding.Unicode.GetBytes( doc.ToString() ) )
        .ToArray();
    

    The GetPreamble() method adds the byte-order-mark to the file so Word knows how to interpret the file contents. It is now able to determine that the file contains Unicode and properly interprets the markup instead of displaying it in the document.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

So I'm trying to both dynamically create a .doc file and have the user
I have a application which stores documents on the file system (PDF, WORD etc)..
I have a download page where there are 3 download options: Word, Zip, and
When I have download sample code from this link and than try to build
I have a download handler that will download the file when in IE but
I want to download a file from server to a local host. i have
I want to download a MS Word 2003 document that I am creating with
I have a web application allowing to download files from the server. Documents might
I have an word file that contain my specified pattern text {pattern} and I
I have a web application (.war) that contains some static files (e.g. MS word

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.