更改页面指令中的区域性后,ASP.Net UTF-8无法正确显示
我设计了一个导出到excel页面,该页面使用以下代码 数据显示在网格视图中,日期格式显示为M/d/yyyy 因此,我添加了culture en GB to page指令,将日期显示为d/M/yyyy 现在日期正确显示为d/M/yyyy,utf-8也正确显示在gridview中 然而,一旦我导出到excel,utf-8就会出现混乱 当我从页面指令中删除区域性时,名称会正确显示,但是我再次面临M/d/yyyy问题 我的问题是:是否有一种方法可以将日期显示为d/M/yyyy,同时读取正确的utf-8更改页面指令中的区域性后,ASP.Net UTF-8无法正确显示,asp.net,culture,arabic,utf,Asp.net,Culture,Arabic,Utf,我设计了一个导出到excel页面,该页面使用以下代码 数据显示在网格视图中,日期格式显示为M/d/yyyy 因此,我添加了culture en GB to page指令,将日期显示为d/M/yyyy 现在日期正确显示为d/M/yyyy,utf-8也正确显示在gridview中 然而,一旦我导出到excel,utf-8就会出现混乱 当我从页面指令中删除区域性时,名称会正确显示,但是我再次面临M/d/yyyy问题 我的问题是:是否有一种方法可以将日期显示为d/M/yyyy,同时读取正确的utf-
如果您有任何想法,我们将不胜感激。以下是您应该如何解决您的问题 1-从页面指令中删除区域性设置 这将在excel中正确显示阿拉伯名称,对吗 2-要解决日期问题,请在gridview aspx代码中执行以下操作
AutoGenerateColumns="false"
前一段代码应该插入到中,这将阻止列自动生成
现在需要手动生成列,请使用以下代码作为示例
<Columns>
<asp:BoundField DataField="EmployeeName" HeaderText="Name" />
<asp:BoundField DataField="Gender" HeaderText="Gender" />
<asp:BoundField DataField="DOB" DataFormatString="{0:d/M/yyyy}" HeaderText="DOB" />
</Columns>
是否在某个地方指定编码类型(如UTF-8)?如果在注释中放置Response.AddHeader…
和Response.ContentType…
,浏览器是否显示阿拉伯名称?将Response.ContentType更改为“text/html”。我并不是把这当作一个答案。我试图找出问题是Excel还是发送的数据。