08、HTML 教程 - 中文咋乱码了

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">,即可让网页完美支持中文。