2011-01-17 2 views
0

데이터베이스에서 중국 데이터를 다운로드하려고합니다. 그러나 데이터는이중국어 인쇄 원치 않는 문자를 Excel 다운로드?

œèŽžå¸,è¯šé € šè®¡ç®-æœºæŠ € 术å'¨è¯ ¢ æœåŠ¡æœ ‰ é ™ å ... ¬å처럼 Excel에서 다른 많은 charecters로오고있다 ¸

여기 내 다운로드 코드는 Excel입니다. 내 코드에서 무엇이 잘못되었는지 이해하지 못합니다.

dg.AllowPaging = False 
     dg.AllowSorting = False 
     dg.AllowCustomPaging = False 
     dg.AutoGenerateColumns = True 

     dg.HeaderStyle.Font.Bold = True 
     dg.HeaderStyle.Font.Underline = True 

     dg.DataSource = sqlDs.Tables(0) 
     dg.DataBind() 
     dg.RenderControl(htmlWrite) 

     Response.Clear() 
     Response.ClearContent() 
     Response.AddHeader("content-disposition", "attachment;filename=FullExtract_" & Now.Year.ToString & Now.Month.ToString & Now.Day.ToString & ".xls") 
     Response.ContentType = "application/octet-stream" 
     'Response.ContentType = "application/excel" 
     Response.BinaryWrite(System.Text.UnicodeEncoding.UTF8.GetBytes(stringWrite.ToString())) 
     Response.End() 

답변

1

Chineese를 사용해 보지 않았지만 터키어 데이터와 비슷한 문제가있었습니다. 아래 코드는 저에게 적합합니다. 자세한 내용은 here을 참조하십시오. 희망이 도움이됩니다.

Response.Clear(); 
Response.AddHeader("content-disposition","attachment;filename=Test.xls"); 
Response.ContentType = "application/ms-excel"; 
Response.ContentEncoding = System.Text.Encoding.Unicode; 
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble()); 

System.IO.StringWriter sw = new System.IO.StringWriter(); 
System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw); 

FormView1.RenderControl(hw); 

Response.Write(sw.ToString()); 
Response.End(); 
관련 문제