直接输出 .doc 文件,不会产生乱码。至少是你的 word 文件本身有乱码,才会乱码。因为它是保证按照 word 文件每一个字节而下载的,不是按照你的网页的编码来下载文件的。除非,你在问题中实际上是误导,你并没有在服务器端有一个真正的无乱码的 word 文件,而只是用你的 ashx 临时下载了一些别的东西(例如有些人把网页文本当作word文件输出了)然后在消息头硬性欺骗客户端、声明为word的 mimie 和文件名。
以前网上有许多所谓的“导出Excel文件、导出Word文件”的aspx例子,是欺骗客户端方式,强行指定消息头的方式,让浏览器端用Excel或者 Word 来接受网页下载。也赖Excel、Word太强大了,以前可以直接把垃圾网页内容转换为正规的 Excel、Word,并且在Office中打开。于是以前这些都似乎可以成功。但是 Office 的高版本不再那么具有兼容性了,就会立刻产生一个“存在乱码、丢失内容”的警告画面,用户点击了“确定”之后才能打开。这就没有什么办法“解决”。因为这种所谓的“导出”方式,根本就不是正经地在服务器端产生了 Excel、Word 正规文件然后导出。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货