解决方案 »

  1.   

    response.ContentType ="application/pdf"  
    word汉字是乱码,是你写入与读出的编码不一致吧
      

  2.   


    1,pdf这样确实就好用!感谢!不过需要客户端也装了PDF软件.
    2,我加上Response.ContentEncoding = System.Text.Encoding.UTF8;doc不乱码了,但是mht文件打开还是乱码...
      

  3.   

    Response.ContentEncoding 写什么编码要看你二进制数据的实际内容的编码。doc可能统一编码为utf8,但mht是网页文件,理论上可以使用任何编码,所以你应该在把文件保存为二进制数据时,也把编码记下来。
    另外,各种文件类型的ContentType ,可以自行google/baidu:mime+扩展名
      

  4.   

    读取数据库中以二进制形式存储的图片示例
    //设置DataList控件绑定显示页面
     <asp:DataList ID="DataList1" runat="server" Width="521px">
                                                <ItemTemplate>//设置控件ID
      <img border="0" height="80" 
                                                            src='UserHomeLogo.aspx?id=<%#Eval("PerHomeId")%>' 
                                                            width="80"> </img>//跳转显示ID
     <asp:Image ID="Image4" runat="server" ImageUrl="~/images/ico2.gif" />
                                                                <a class="bb"><%#Eval("PerHomeName")%></a>//显示图像
    <a><%#Eval("PerHomeTime") %></a>//显示时间
    <a class="bb"><%#Eval("PerHomeSign")%></a>//信息内容
         </ItemTemplate>
                                            </asp:DataList>
    //绑定数据库数据显示
     protected void Page_Load(object sender, EventArgs e)
        {
            string sqlstr = "select * from PerHomeDetail order by PerHomeId desc";
            SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);
            SqlDataAdapter myda = new SqlDataAdapter(sqlstr, con);
            DataSet ds = new DataSet();
            myda.Fill(ds);//CodeGo.net/
            DataList1.DataSource = ds;
            DataList1.DataBind();
        }