在HTML5之前,在具有元素的文档上设置字符编码需要您编写下面看到的有点冗长的代码行。如果您在网站还在使用HTML4标准,则Meta 元素要这么些:<meta http-equiv =“content-type”content =“text / html; charset = iso-8859-1”>在此代码中需要注意的重要事项是您在content属性周围看到的引号:content = “ text / html; charset =utf-8 ”。像所有HTML属性一样,这些引号定义属性的值,表示整个字符串text / html; charset = utf-8是此元素的内容。这是正确的HTML,它是这个字符串的写法。它也很笨拙而又丑陋!也是非常不容易记住内容!
在大多数情况下,网站设计与开发人员必须将这些代码从一个站点复制并粘贴到他们正在开发的新站点中,因为从头开始编写这些代码需要些很多东西。
然而进入HTML5时代变得更简单了。HTML5不仅为语言添加了一些新元素,而且还大大简化了HTML的大部分语法,包括Meta元素。使用HTML5,您可以使用更容易记住的META元素语法添加您的字符编码, 如下所示:<meta charset =“utf-8”>将这种简化的语法与我们在本文开头所写的内容(用于HTML4的旧语法)进行比较,您将看到编写和记住HTML5版本的标签要容易得多。而不是需要将其从现有网站复制并粘贴到您正在处理的任何新网站中,这绝对是您作为前端网站设计开发人员可以记住的事情。节省时间可能不会太多,但是当您考虑HTML5简化的其他语法区域时,节省的时间成本就会大大增加!
即使您不打算使用任何特殊字符,也应始终包含网站的字符编码。如果您不包含字符编码,则您的站点很容易受到使用UTF-7的跨站点脚本攻击的攻击。在这种情况下,攻击者发现您的站点没有定义字符编码,因此它欺骗浏览器认为页面的字符编码是UTF-7。接下来,攻击者将UTF-7编码的脚本注入网站,并且您的网站被黑客入侵。从您的公司到访问者,这对所有参与者都是有非常坏的影响。好消息是要避免这是一个简单的问题,确保为所有网站页面添加字符编码。
网站页面的字符编码应该是HTML的<head>元素的第一行。这可确保浏览器在页面上执行任何其他操作之前知道字符编码是什么,而不是确定文档类型并确定它是HTML页面。
您还可以在HTTP标头中指定字符编码。这比将其添加到HTML页面更安全,但您需要访问服务器配置或.htaccess文件,这意味着您可能需要与您的网站的托管服务提供商提供合作才能获得此类访问权限或拥有它们为你做出改变。变更本身很简单,因此任何托管服务提供商都应该能够相对轻松地为您做出此更改。