0
사용자 기본 인코딩으로 HTML을 CSV로 디코딩하는 방법은 무엇입니까? 모든 Response.ContentEncoding 나는 횡설수설 수출을 사용한다. 그리드에SQL to Grid to CSV 문자 인코딩
SQL :
SqlConnection conn = new SqlConnection(connectionString);
string select = "SELECT...";
SqlDataAdapter DataCommand = new SqlDataAdapter(select, conn);
DataSet ds = new DataSet();
DataCommand.Fill(ds);
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();
그리드 CSV로 :
Response.Clear();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment;filename=CSVfile.csv");
Response.ContentType = "text/csv";
// other encoding like utf-8 also exports encoded data
Response.ContentEncoding = Encoding.GetEncoding("Windows-1250");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < GridView1.Rows.Count; i++)
{
for (int k = 0; k < GridView1.Rows[0].Cells.Count; k++)
{
sb.Append(GridView1.Rows[i].Cells[k].Text + ';');
}
sb.Append("\r\n");
}
Response.Output.Write(sb.ToString());
Response.Flush()
Response.End();
SQL_Latin1_General_CP1_CI_AS 데이터 데이터 그리드에서 "윈도우 CP-1250"로 올바르게 표시는, 그러나 CSV 모두 포함 HTML로 인코딩 된 문자 (ó
대신 ó
, 그리드의 HTML 소스와 동일). 나는 지금이 인코딩으로 완전히 잃어버린 ...
빠른 테스트, 당신은 라인을 변경할 수 있습니까 : Response.Output.Write (sb.ToString()); Response.Output.Write (HttpUtility.HtmlDecode (sb.ToString())); 출력 좀 알려주시겠습니까? – dash
@dash 실제로 문제를 해결합니다 ... : P 답변으로 게시 – yosh
제목 앞에 "ASP.NET C#"을 사용하지 마십시오. 그것이 바로 태그가있는 것입니다. –