我需要在.NET Web应用程序上设置哪种字符编码?

时间:2012-04-21 16:21:26

标签: .net html encoding meta-tags

W3C validator上查看我的网站,它只说明了这一点:

  

在文档级别声明没有字符编码

     

在HTML元元素或XML声明中,未在文档中找到字符编码信息。通常建议在文档本身中声明字符编码,特别是如果文档有可能从磁盘,CD等中读取或保存。

我知道它不是那么重要,但我很好奇:我需要在我的.NET 4.0 Web应用程序上设置哪种元标记/编码?我怎么知道哪个编码.NET管理我的数据?

2 个答案:

答案 0 :(得分:4)

当你说“它不那么重要”时,你完全错了。如果您没有指定字符编码,那么Web浏览器将不知道如何显示您的文档,因此他们会猜测。如果你曾经使用过任何不是英语的角色,那你就搞砸了。实际上,即使你只使用英文字符,你也可能会被搞砸。

这是一篇关于字符集和字符编码的非常着名的博文: http://www.joelonsoftware.com/articles/Unicode.html

回答你的问题:首先你要弄清楚你正在使用哪种字符编码。它可能是ISO-8859-1或UTF-8。然后将其添加为head-tag中的第一行:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

该标记可用于XHTML 1.0和HTML 5,但不能用于任何更高版本的XHTML或HTML 4。

答案 1 :(得分:2)

你必须添加像

这样的标签
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

到您的页面/母版页的头部。

与.Net有关,但是使用编码保存.aspx页面(如果使用Visual Studio创建,则默认为UTF-8)。