导出后Word中的不可读字符

时间:2010-01-06 18:02:16

标签: c# .net asp.net ms-word content-type

我有一个asp.net页面,它将一些数据导出到Microsoft Word 2003.数据源是用户在输入页面上输入ajax控件工具包HtmlEditor的内容。除非用户将Word文档中的文本粘贴到HtmlEditor中,否则一切正常。

从Word复制的html如下所示:

<p class="MsoBodyText" style="margin: 0in 0in 0pt"><font color="#000000"><br />\r\nThe Blah Blah Blah of Southern California’s blah blah qualify for a blah of “Rating” with a “hold” status.&nbsp;</font></p>

在Word中呈现内容时,它看起来像这样:

The Blah Blah Blah of Southern California’s blah blah qualify for a blah of “Rating†with a “hold†status.

对此有何帮助?当我将HTML强制转换为div并在页面上显示时,我没有任何问题。只有在导出到Word时才会搞砸了。无论是将Word文本粘贴到HtmlEditor还是使用 从MS Word粘贴(带清理) 按钮,都会发生这种情况。

感谢。安德鲁。

2 个答案:

答案 0 :(得分:1)

我从未想过我会读到“将某些数据导出到Microsoft Word”这一短语。失败。

您的程序是以编程方式创建Word文档,对吗?看起来您在单引号和双引号上有二进制错误。你是如何创建Word文档的? Interop库?

答案 1 :(得分:1)

这是一个文本编码问题,您的“从Word复制的html”是错误的。您使用单引号和双引号(ASCII字符39和34,或分别为十六进制0x27和0x22),而Word使用智能引号。在Word和HTMLEditor之间复制和粘贴时,它们会出现乱码,然后在粘贴回Word时显示为错误的字符编码。

如果您从HTMLEditor保存文本并使用十六进制查看器查看它,您将立即看到问题。

我无法帮助您使用“ajax控件HTMLEditor”并重新配置它以解决此问题,因为我对它不熟悉。