HTML页面为什么设置了UTF-8仍然中文乱码

时间:2022-02-04 10:44:17
如题,其实问题很简单,在用EditPlus写html页面的时候,发现设置为UTF-8的时候仍然出现了乱码,
这是一个很奇怪的问题,而且我完全考虑了浏览器的解析问题,将title放在了了meta标签之后,之后突然想起页面
保存时候的编码问题,在保存页面的时候EditPlus默认的是ANSI的编码方式,而不是UTF-8。所以在保存页面的时候注意选择编码方式为UTF-8即可。
如果要修改EditPlus默认的编码方式,可以在tools---configure user tools,配置为Defaultencoding为UTF-8即可。
如下图配置:
HTML页面为什么设置了UTF-8仍然中文乱码


原因:
在保存文件到计算机硬盘的时候,文件保存的内容已经和本机采用的编码相关,采用了计算机上有的某种编码方式来存储。
在简体中文系统中ANSI代表的就是GB2312,繁体似乎是GBK,而在日文操作系统下,ANSI 编码代表 JIS 编码。
使用 2 个字节来代表一个字符的各种语言字体编码方式,称为 ANSI 编码
所以如果保存时候用的是ANSI, Html页面中的meta定义的是<metahttp-equiv="Content-Type" content="text/html; charset=GB2312"/>或者
<meta http-equiv="Content-Type" content="text/html;charset=GBK"/>,由于GBK是在GB2312基础上演变而来,所以这两者在保存之后都能被浏览器解释出来,而
如果保存时候用的是ANSI而在meta中 用的是<metahttp-equiv="Content-Type" content="text/html; charset=UTF-8"/>则就会出现乱码,因为在用UTF-8方式去解析这样的ANSI
码的时候会出现不能正常解析也就出现了乱码

解决方式:用什么方式编码,就用什么方式解析,all will be ok then
更多编码的知识,见下一篇转载文章:编码问题 java编码问题