1. 任务背景
之前的章节中,我们陆续学习了4个标签:
- html:整个网页
- head:网页头部
- title:网页头部的标题
- body:网页内容
通过这四个标签,我们可以编写一个简单的网页:
<!DOCTYPE html>
<html>
<head>
<title>我的网页</title>
</head>
<body>
这是我的个人网页
</body>
</html>
打开后,效果如下,可以发现中文部分乱码了:
这是搞啥子呢,我就简简单单写个网页咋还给我乱码,必须给他研究明白滴。
注意也不是所有网页都会中文乱码,但是如果不按本文知识点处理是有一定概率会乱码的。
2. 任务目标
解决HTML网页中文乱码问题,畅快编写中文网站吧。
3. 相关知识点
3.1 为啥会乱码
那么为何会乱码呢?
这就要从HTML历史说起了,HTML发明者蒂姆·伯纳斯·李
是英国人,他会英语啊,不会中文。
所以人家在创立语言之处,肯定它就支持英语,你看这些标签其实都是英文单词或者英文单词的缩写。
所以在网页世界里,它天生就是支持英文的。
但是中文的话,就不是天生支持的那么好的,这就需要我们明确告诉浏览器——请支持中文吧!
3.2 让浏览器支持中文
那么如何让浏览器支持显示中文呢,还是采用HTML惯用的方式——标签。
我们可以通过<meta>
标签设置网页的一些特性,例如支持的语言类型。由于是设置网页的整个特性,所以它也是位于<head>
标签之内的,毕竟头部毕竟重要嘛。
通过添加<meta charset="utf-8">
即可让网页支持中文,注意utf-8
是最常用的中文编码。
<head>
<meta charset="utf-8">
<title>我的网页</title>
</head>
这个写法比较特殊,使用到了标签的【属性】,我们来讲解下。
3.3 标签的属性
在标签中间的部分,叫做标签的内容。内容一般会显示在网页上。
例如<title>我的网页</title>
中,我的网页
就是<title>
标签的内容。
而在开始标签内部的,叫做标签的属性,属性一般用来给标签增加描述,是一种参数设置,但是一般不会在页面上显示。
例如<meta charset="utf-8">
中,charset
就是标签的<meta>
标签的属性,而charset="utf-8"
表示给该属性设定了值为utf-8。
所以一个完整的标签写法如下:
<标签名 属性名="属性值">标签内容</标签名>
学到这里,大家理解标签内容一般会直接显示到网页上,而标签属性则提供并不直接显示的辅助信息,就OK了。
4. 任务实操
编写完整网页如下,在浏览器中运行,看看中文是否正常显示不再乱码了。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>我的网页</title>
</head>
<body>
这是我的个人网页
</body>
</html>
5. 任务小结
注意如果对网页的内容、属性还觉得不好理解的话,就暂时记住就是了,只要在网页头部添加<meta charset="utf-8">
,即可让网页完美支持中文。