1.情景展示

  html文件已经声明字符集为UTF-8,但是浏览器访问依旧乱码。

  标题和页面内容都是乱码,这是怎么回事?

2.原因分析

   charset="UTF-8"是让浏览器要用utf-8来解释,而文档的编码格式,是保存时的选择决定的。

  也就是说:这个HTML文件保存时的字符集不是UTF-8!

  所以,HTML的编码格式不是utf-8却让浏览器以utf-8的格式进行解析,自然会乱码。

  但是,事实果真如此吗?

  使用notepad++打开该文件,发现文档的字符集就是:utf-8。

  这是不是很奇怪?

3.解决方案

  从网上看到,说是默认编码格式是ANSI,需要改成UTF-8,显然,我的格式现在已经是UTF-8了,为什么还是乱码?

  抱着死马当活马医的态度,选中文件--》打开方式选择记事本--》文件另存为:(编码格式已经默认为UTF-8了)

  替换原文件。

  这个时候,再用notepad++打开该文件,你会发现该文件编码集已经发生了改变:

  编码集由UTF-8改为UTF-8-BOM了。

  这次再用浏览器访问该网页,中文显示不再乱码了。

4.效果展示

  到这就结束了,怎么可能,程序员的探索精神哪里去了?

5.扩展应用

  对于已经熟练使用开发工具的人,谁也不会傻到将文档的编码集设置为ANSI的,指定文档编码集的工作已经由开发工具替代了,我们只需要设置一下就好了。

  那么,现在来探索一下,使用ANSI编码的html文件,究竟能不能被浏览器正确解析。

  第一步:在桌面新建一个文本文档。

  双击打开,手敲html模板:

  保存之后,修改文件后缀名为html

  使用浏览器打开,可以正常显示,不会乱码!

  此时的文档编码为:ANSI,可以使用记事本重新打开该html文件--》文件--》另存为:

  或者,直接使用notepad++打开该文件,右下角显示的就是:该文件的编码集。

  这就可以证明,使用记事本创建的文件,默认的编码集是:ANSI。

  第二步:添加uf-8声明,告知浏览器以utf-8格式解析html内容

  再次打开浏览器,显示已经乱码了。

  这,才是网络上流传的由ANSI编码引起乱码的真相!!!

  第三步:将该文件的字符集改为utf-8。

  使用记事本打开该文件--》另存为--》字符集指定为UTF-8,保存,替换原文件

  使用浏览器再次访问,这就又可以显示正常了。

  此时显示正常是因为:文档编码集为UTF-8,浏览器也以UTF-8的字符集来解析html文件。

  此时,再用notepad++打开,右下角的字符集也变成了:UTF-8-BOM。

  第四步:得出结论。

  使用Windows记事本新建的文件,默认字符集是:ANSI,另存为UTF-8格式,其实际格式为带有BOM的utf-8,并不是我们平常开发是指定的(真正意义上的)utf-8!

  此时,是不是完事了?没有,继续!

  新的问题来了:为什么UTF-8-BOM,浏览器解析不乱码,而UTF-8,浏览器解析就乱码呢?

  通过notepad++,将该文件的字符集改为无bom格式的utf-8,也就是真正的utf-8。

  修改成功。

  保存,再次使用浏览器打开该文件,你会发现:仍然可以正常显示。

  是不是很奇怪?为了进一步验证,我们这次再把刚开始的那个html文件由utf-8-bom改成utf-8试试!

  结果还是不行,还是会乱码!

  结论:我这种情况,估计很少有人碰到,不管它了,就这吧。不过,可以肯定的是:

不管文档的编码集是UTF-8,还是UTF-8-BOM,都不影响浏览器以UTF-8字符集进行正常解析中文!

还想继续深入了解UTF-8与UTF-8(BOM)可以看这篇文章:UTF-8与UTF-8(BOM)区别和一些说明

但是,至于为什么开头的文件使用UTF-8为何会乱码,无从得知!

  补充:20191119

  如果你使用的是jsp,一定要加上这段代码:

  否则jsp转java的时候使用的字符集是iso-8859-1,servlet返回的html文件的字符集也是iso-8859-1,而不是utf-8。如下图所示:

  换句话说,虽然将jsp文件的字符集是utf-8,但是tomcat使用java编译时使用的却是iso-8859-1,所以最终响应到浏览器的html的编码集是iso-8859-1;

  而我们实际开发的时候字符集是utf-8,所以当页面存在中文的时候就会出现乱码问题。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

转载至:https://www.cnblogs.com/Marydon20170307/p/11362559.html

html声明charset=“utf-8“后,浏览器访问中文依旧乱码的问题解决(绝对有效)相关推荐

  1. iphone手机safari浏览器访问网站滚动条不显示问题解决办法

    iphone手机safari浏览器访问网站滚动条不显示问题解决办法 参考文章: (1)iphone手机safari浏览器访问网站滚动条不显示问题解决办法 (2)https://www.cnblogs. ...

  2. 解决文件下载在火狐浏览器出现中文文件名乱码的方法

    解决文件下载在火狐浏览器出现中文文件名乱码的方法 参考文章: (1)解决文件下载在火狐浏览器出现中文文件名乱码的方法 (2)https://www.cnblogs.com/zeng1994/p/739 ...

  3. 部署完zabbix服务后,修改defines.inc.php后,中文依旧乱码问题

    解决办法来至:https://www.jb51.net/article/173042.htm 在这里记录下以备不时之需 环境: Centos7 zabbix: 5.0.5 问题: 修改defines. ...

  4. 网页部署https后浏览器访问风险提示或者您的链接不是私密链接解决方案

    1. 问题描述 刚做web应用的时候,对于https不是很了解,按照网络教程部署(参考文章:https://www.cnblogs.com/hld123/p/6343437.html )好https后 ...

  5. Azkaban启动服务完成后浏览器访问8443端口出错

    1. 启动Azkaban服务的顺序是先启动executor server服务,再启动web server服务.启动完成后,输入jps,出现如下截图所示: 2.然后我在谷歌浏览器中输入:hadoop10 ...

  6. 配置 hosts 浏览器访问仍然不生效

    背景 今天调试一个页面, 后被告知需要配置 hosts, 然而配置 hosts 后, 浏览器访问仍然 404 定位 f12 查看 network > headers > general & ...

  7. 浏览器访问Linux上部署的jar包

    大纲 jar包部署在Linux上后浏览器访问不到的问题 步骤 jar包部署在Linux上后浏览器访问不到的问题 是否安装了iptables包 yum install iptables-services ...

  8. QQ提示当前网页非官方页面,请勿输入QQ账号和密码,如需访问,请复制后使用浏览器访问...

    QQ提示当前网页非官方页面,请勿输入QQ账号和密码,如需访问,请复制后使用浏览器访问  Lan   2020-05-13 17:41   751 人阅读  0 条评论 昨天,我的这个博客在QQ上进行访 ...

  9. linux部署tomcat启动后无法访问,linux中启动tomcat后浏览器无法访问的解决方法

    前言 不论是要启动,还是要关闭tomcat服务,都是要去到tomcat安装目录下的bin路径,当然你要是电脑关机自然是不需要的. 但最近在启动后发现了一个问题:Centos服务器,本地和服务器ip互p ...

最新文章

  1. Node.js使用NodeMailer发送邮件
  2. oracle: 在sqlplus中,执行sql语句
  3. Win7 + VS2015 + Python3.6编译
  4. noip2016考前模板
  5. 攻防世界-Misc-something_in_image(秒懂!!)
  6. [云炬创业学笔记]第一章创业是什么测试13
  7. python3精要(29)-reduce
  8. 连接数据库时提示归档器失败 ORA-00257: archiver error
  9. Web页面获取用户控件页面中服务器控件的值
  10. [原创] ASP.NET 应用程序中使用定时器
  11. android主题资源,使用 Theme Editor 设计应用主题背景
  12. OSError: cannot identify image file
  13. tp交换机管理页面_二层网管交换机的管理方法
  14. 我的SWT与数字图像处理总结(3)—SWT如何得到图像某个位置的像素值和相应的RGB的值...
  15. vue 初识MVC与MVVM,及其与vue基本代码之间的关系
  16. 我的Android第五章:通过Intent实现活动与活动之间的交互
  17. MYSQL 查看表定义的 4 种方法
  18. TwinCAT3中台达A3伺服使用
  19. 【资料】《模拟电子技术基础-童诗白第四版》
  20. APIMonitor安装

热门文章

  1. 【单片机毕业设计】【mcuclub-203】空气质量检测(温度、风速、瓦斯、PM2.5) | 环境检测 | 气体检测 | 井下安全监控
  2. WOC:WLAN over CATV ——有线电视无线网
  3. 【excel】单、多工作簿数值化
  4. 大咖分享|王少锋:深度解析DCMM数据管理成熟度模型
  5. 大年初一,你们怎么过的?
  6. DIF,DEA及MACD——C++函数式元编程实现
  7. 使用优盘安装centos6.8系统
  8. 竞赛类游戏 python_竟和竞的区别
  9. PPT超链接到Word文档中的某一页
  10. AI语音丨这三款实用的录音转文字软件,简直是职场打工人会议必备!