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

mar*_*zzz 0 .net html encoding meta-tags

在W3C 验证器上检查我的网站,它只说:

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

在文档中(无论是 HTML 元元素还是 XML 声明中)均未找到字符编码信息。通常建议在文档本身中声明字符编码,特别是当文档有可能从磁盘、CD 等读取或保存到磁盘、CD 等时。

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

Lar*_*röm 5

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

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

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

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Run Code Online (Sandbox Code Playgroud)

该标签可以在 XHTML 1.0 和 HTML 5 中使用,但不能在任何更高版本的 XHTML 或 HTML 4 中使用。