产生的原因
计算机的底层是以二进制编码的方式对数据进行存储的,不论是什么形式的内容,最终都是以二进制的格式保存的。
这里有两个概念,编码和解码。编码:按一定的规则,将字符转换为二进制编码的过程。解码:依据一定的规则,将二进制编码转换为字符的过程。
这里有一个问题,就是这个规则到底是什么?通常,我们所说的字符集就是这个规则。常见的字符集有ASCII、GBK、GB2312、UTF-8等等。ASCII是由美国人发明的,包含七位,能存储128个字符。GBK和GB2312都是国标码,中文系统下的默认编码是GB2312,而UTF-8是全球通用的万国码。
所以,产生乱码的根本原因就是编码和解码使用的字符集不一致。你的编码集采用的是UTF-8,但是浏览器的解码集采用的是GB2312,这个时候自然就会出现乱码的情况。
解决方法
最简单的办法就是在代码中添加meta标签,告诉浏览器你采用的是什么字符集。
meta是一个自结束标签,和普通标签不一样,普通标签是成对出现的,有开始有结束。在编写自结束标签时,可以在开始标签中添加一个/。
示例如下:
<!doctype html>
<html></