随意写了个html文件,打算查看debug情况的。结果发现:界面上虽然中文显示正常,但是源码中确是出现了乱码。
进一步搜索,发现meta标签的作用。
W3school是这样介绍的:
<meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。
<meta> 标签位于文档的头部,不包含任何内容。<meta> 标签的属性定义了与文档相关联的名称/值对。
<meta> 标签永远位于 head 元素内部。
元数据总是以名称/值的形式被成对传递的。
那么meta使用,举个例子:
HTML 4.01: <meta http-equiv="content-type" content="text/html; charset=UTF-8">
HTML5: <meta charset="UTF-8">
两种方式都可以将文档的字符编码设置为UTF-8,只是html第4版和第5版,写法不太一样而已。
下面来看下我遇到的问题
1)火狐校验的比较严格,html中没有写编码(将<meta>注释掉了,所以相当于文件console_GBK.html并没有声明编码类型),会提示HTML文档的字符编码未声明。
虽然界面上能正确显示出对应的中文,但是console_GBK.html文档中显示的是乱码。
2)那么我想让里面的内容也不是乱码,该怎么操作呢?
想到将console_GBK.html文件内容,在<head></head>中增加<meta>标签解决。
结果发现连显示结果都变成乱码了。
这是因为console_GBK.html保存的格式为GBK格式的文档,而编码要求使用UTF-8,二者编码不一致,浏览器还是识别不了,出现了乱码。
3)进一步修改:
使用UltraEdit打开console_GBK.html文档,发现文档编码是GBK格式,切换为UTF-8就会变为乱码。
那就拷贝一份,另存为UTF-8格式吧,命名为:console_UTF-8.html
这个时候再运行就不会有问题啦~
总结下:
html中meta指定为UTF-8,html文件存储编码也要为UTF-8,否则会出现乱码。
期间还查到了关于meta标签中的http-equiv属性使用介绍:meta标签作用很多呢,想了解更多,点下面链接。
https://www.cnblogs.com/yumo1627129/p/7198968.html
content-type规定文档的字符编码