重新加载或刷新页面时更改字符集

时间:2012-07-28 19:46:22

标签: html character-encoding

我有一个ASP.NET页面,其标题中定义的编码只加载了一次正确的编码,然后显示没有编码的数据(ASCII?)。

HTML标题的写法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<meta http-equiv="content-type" content="text/html" /> 
<meta http-equiv="charset" content="utf-8" />

应该显示为UTF-8的数据从SQL中的nvarchar单元格中获取,并放入ASP.Net中的cookie中。当页面第一次重新加载时,它似乎没问题:

Salé

然后对于所有其他重定向/刷新,它显示为:

Salé

在浏览器中检查错误页面的来源时,charset元素位于源代码中。

我的标题错了吗?如果没有,我会深入研究我的代码。

[编辑]

我尝试使用<head>中的runat =“server”以编程方式更改标头,但它无效。

Dim meta As System.Web.UI.HtmlControls.HtmlMeta = New System.Web.UI.HtmlControls.HtmlMeta()
meta.HttpEquiv = "content-type"
meta.Content = Response.ContentType + "; charset=" + Response.ContentEncoding.HeaderName
Page.Header.Controls.Add(meta)

[编辑]

发现了类似的问题:UTF-8 problems with characters from MySQL database (e.g. é as é)

0 个答案:

没有答案