zoukankan      html  css  js  c++  java
  • 网站开发中常见的编码和乱码问题的解决

    来源百度经验:http://jingyan.baidu.com/article/47a29f24332012c0142399f1.html

    大家在做网页的时候也许会发现,辛辛苦苦写好的代码,在浏览器中预览时却显示一大堆乱码,这个时候开始头痛了,怎么解决呢,如果去网上搜索的话,一大堆关于编码的知识弄得越来越糊涂,回头一看代码写的没错啊,但是为什么呢?其实本人也是遇到了这个问题,然后研究了一段时间,所以现在分享出来,希望给大家一个清晰的思路,然后在这个基础之上放心做网站,本文简单介绍了UTF-8编码和gb2312编码的基本区别,然后通过两款优秀的网页代码编辑软件Sublime Text2和Notepad++进行比较,提供一个比较好的解决方案,适用于做HTML、asp、php等类型的网页时出现的编码问题,下面开始吧!

    工具/原料

    • 电脑

    • Sublime Text、Notepad++等软件

    Sublime Text2的网页编码设置

    1. 1

      首先介绍Sublime Text,这是一款优秀的代码编辑工具,最新版是Sublime Text2,功能非常多我就不多说了,业界的评价也是非常高,那么我们首先来在电脑桌面上新建一个文本文档,来演示网页编程中出现的问题。文本文档建好后,将"新建文本文档.txt"重命名为静态网页文件"wangye.html",这是弹出提示点击"确定"即可,这个时候电脑一定要设置好显示文件扩展名。如下图所示:

      网站开发中常见的编码和乱码问题的解决
      网站开发中常见的编码和乱码问题的解决



















      此时我们用Sublime Text2将这个wangye.html打开。如图所示就是Sublime Text2的环境界面,此时在里面可以写代码,这里指出Sublime Text不支持gbk中文编码。我们依次用gb2312编码和utf-8编码进行测试。

      首先我们写入简单的网页编码如下图所示,特别注意这段代码<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />这说明网页是用gb2312也就是中文简体进行编码,此时浏览器也会用gb2312进行显示。

      网站开发中常见的编码和乱码问题的解决


      我们将上面的内容保存,按快捷键"Ctrl+S"即可保存,我们用浏览器打开预览一下看有什么结果。

      网站开发中常见的编码和乱码问题的解决


      结果我们看到了,网页标题和内容都是乱码,只有英文hello可以正确显示,这是为什么呢,这里强调一下,Sublime Text默认编码是UTF-8,通俗来讲UTF-8是世界通用性的编码,用途也是最广泛的,而gb2312仅仅适用于中国。这个时候我们如果确实想用gb2312编码怎么办呢,我们点击"文件",然后找到"保存编码",单击"UTF-8包含BOM",这时关闭Sublime Text之后,再次打开网页会发现一切正常了。看下图:

      网站开发中常见的编码和乱码问题的解决
      网站开发中常见的编码和乱码问题的解决






























      如果我们做网站的时候不用gb2312编码,我们改成utf-8会怎么样呢,看下图:

      网站开发中常见的编码和乱码问题的解决
      网站开发中常见的编码和乱码问题的解决



















      1. 这个时候我们发现,将<meta>标签里面的改成utf-8后,我们不管怎么设置UTF-8还是UTF-8包含BOM显示出来都很正常。下面我们总结一下用Sublime Text2编写网页的时候到底该如何编码,编码设置方法就是第五步的方法。


        Sublime Text2不支持中文编码,如果我们用gb2312进行编码,需要设置编码为UTF-8包含BOM,如果我们用utf-8进行编码,设置UTF-8或者设置成UTF-8包含BOM都可以,但是推荐用UTF-8,就是不含BOM的纯UTF-8。这是两种编码的相应设置方法。

        下面简单介绍一下Notepad++这款软件。

        END

      Notepad++下的网页编码设置

      1. 1

        我们还是和前面一样建立网页文件,在Notepad++环境下打开。先用gb2312编码并预览,如图所示:

        网站开发中常见的编码和乱码问题的解决
        网站开发中常见的编码和乱码问题的解决



















      我们发现没有任何乱码,一切正常。然后我们把gb2312改为utf-8保存后试试看。看下面的图片:

      网站开发中常见的编码和乱码问题的解决
      网站开发中常见的编码和乱码问题的解决






















      我们会发现,仍然显示正常,这到底是为什么呢,我们可以打开编码设置来看一下,我们看下面的图片。单击"格式"就可以看到默认编码。

      网站开发中常见的编码和乱码问题的解决


      我们看到默认编码的选择格式是"以UTF-8格式编码",但是我们开始设置的是gb2312呀,其实注意了,在Notepad++和Sublime Text不一样,Notepad++中,默认UTF-8编码已经包含BOM,我们看到选择项里面还有一项"以UTF-8无BOM格式编码",这一项才是纯UTF-8格式的编码,我们改成这一项试试。并把代码改为gb2312

      网站开发中常见的编码和乱码问题的解决
      网站开发中常见的编码和乱码问题的解决






















      1. 我们会发现,这个时候网页显示也是乱码,这是因为网页代码的编码和Notepad++中设置的实际编码不同,所以浏览器按照gb2312解析时会出现错误。由此我们总结一下用Notepad++编写网页代码是,编码的设置方法:

      2. 如果我们使用gb2312编码,那么相应的Notepad++中的格式编码要设置为UTF-8这个是包含BOM的,一般默认即可不用设置。如果我们使用UTF-8编码,那么Notepad++中的格式设置成"以UTF-8格式编码"或者"以UTF-8无BOM格式编码"都可以,就是说我们默认就可以,但是推荐使用UTF-8无BOM格式编码,这样的话更符合国际标准。

        END

      注意事项

      • 那么以上就是我对于编码问题所采取的方法,不仅局限与以上两款软件,包括Dreamweaver这样的大软件设置也基本相同。

      • 我们需要抓住的一个中心就是:让代码中的编码与软件设置的编码格式相一致,代码<meta>标签中的编码是让浏览器识别的,而软件中设置的编码是整个页面的真实编码。只有相一致浏览器才会正确解析出正常网页!

      • 如果我们自己做网站的话,如果只针对于国内那么可以用gb2312进行编码,如果我们制作的网站面向国内和国外还是推荐使用UTF-8进行编码,以为这种编码对于全球的浏览器显示都不会出错,这也是未来发展的一个趋势,目前国内的大网站都是使用UTF-8编码,预计使用UTF-8编码的网站还在增多。所以应该根据自己开发网站的实际情况客观的选择编码。

      • 本文简单浅显的介绍了两种用的比较多的编码方法,希望能帮助大家解决乱码的疑惑,也希望大家能在这个基础上将网站做的更加出色!


  • 相关阅读:
    Java Lambda表达式初探
    解开lambda最强作用的神秘面纱
    常用正则表达式
    js,java时间处理
    Java 8新特性探究(二)深入解析默认方法
    Java 8里面lambda的最佳实践
    lambda表达式和闭包
    Lambda语法篇
    lambda表达式
    依赖注入和控制反转的理解
  • 原文地址:https://www.cnblogs.com/tham/p/6827378.html
Copyright © 2011-2022 走看看