c#中response.writeFile语句打开word显示乱码

用这个语句打开图片和pdf都是正常的,就是打开word的时候显示乱码protectedvoidbtnFile_Click(objectsender,EventArgse)... 用这个语句打开图片和pdf都是正常的,就是打开word的时候显示乱码
protected void btnFile_Click(object sender, EventArgs e) //打开文档
{
if (gvSpecification.SelectedIndex!=-1)
{
string fileName = this.gvSpecification.Rows[gvSpecification.SelectedIndex].Cells[5].Text;
string filePath = MapPath("upfile/speci/" + fileName + "");

Response.WriteFile(filePath);
Response.End();
}
else
{
Response.Write("<script language=javascript>alert('未选择任何工艺标准!');</script>");
}
展开
 我来答
匿名用户
2012-03-28
展开全部
打开word出现提示转换文档打开是乱码的原因:
1.可能是低版本打开高版本。或者是格式不相同。
2.文档损坏了。
解决办法:
方法一:利用word2002/2003的“打开并修复”功能来修复文挡。

(1)启动word2002/2003,单击“文件-----打开”,在“打开”对话框中选重要修复的word文挡。

(2)单击“打开”按钮右边的下三角按钮,在弹出的下拉菜单中选中“打开并修复”选项,即可对损坏的文挡进行修复,修复完成后,显示文挡内容。

提示:“打开并修复”是只有word2002以上的版本才具有的功能。

方法二:转换文挡格式来修复文挡。

如果使用的是word2002以下的版本(如word2000),可以用此方法来修复文挡。

(1)启动word2000后单击“工具------选项-------常规”。在该选项卡中选中“打开时确认转换”复选框,并单击“确定”按钮。

(2)单击“文件---打开”,在弹出的“打开”对话框中选中要恢复的文件,并在“文件类型”框中选中“从任意文件中恢复文本”。

(3)单击“打开“按钮自动对孙换文挡进行转换修复。

(4)如果显示的文挡内容混乱,单击“文件---另存为”,将文挡保存为“RTF格式”或其他word所识别的格式。

(5)保存后关闭文挡,再次打开以“RTF格式”保存的文挡即可看到完整的文挡。

(6)再将文挡保存为“DOC格式”即可,这样就完成了对孙换文挡的修复操作。

提示:此方法也同样只可以在word2002以上的版本中使用。

方法三:重设格式法

Word用文档中的最后一个段落标记关联各种格式设置信息,特别是节与样式的格式设置。这样我们就可以将最后一个段落标记之外的所有内容复制到新文档,就有可能将损坏的内容留在原始文档中。步骤如下:

①在Word中打开损坏的文档,选择“工具→选项”然后选择“编辑”选项卡,取消“使用智能段落选择范围”复选框前的勾。取消选中该复选框,选定整个段落时,Word将不会自动选定段落标记,然后单击“确定”按钮。

②选定最后一个段落标记之外的所有内容,方法是:按“Ctrl+End”组合键,然后按“Ctrl+Shift+Home”组合键。

③在常用工具栏中,依次单击“复制”、“新建”和“粘贴”按钮。

方法四:禁止自动宏的运行

如果某个Word文档中包含有错误的自动宏代码,那么当你试图打开该文档时,其中的自动宏由于错误不能正常运行,从而引发不能打开文档的错误。此时,请在“Windows资源管理器”中,按住Shift键,然后再双击该Word文档,则可阻止自动宏的运行,从而能够打开文档。
方法五:
用修复软件,如DocRepair。
,1.可能是低版本打开高版本。或者是格式不相同。,2.文档损坏了。,解决办法:,
追问
有意思么,根本不是一回事
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QQ2k5
推荐于2016-01-01 · TA获得超过438个赞
知道小有建树答主
回答量:911
采纳率:25%
帮助的人:253万
展开全部
编码问题
加一句Response.ContentEncoding = System.Text.Encoding.UTF8;
如果还不行,你就特许处理一下,当下载word时
System.IO.FileInfo file = new System.IO.FileInfo(path);
Response.Clear();
Response.Charset = "utf-8";//设置输出的编码
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name));
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = "application/msword";
Response.WriteFile(file.FullName);
Response.End();
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式