美文网首页饥人谷技术博客
聊聊网页乱码的问题

聊聊网页乱码的问题

作者: DX初学者 | 来源:发表于2016-10-31 15:35 被阅读50次

    我们在浏览网站的时候经常会看到一些类似乱码的字符串。这些是如何产生的呢,又该怎么解决。

    Paste_Image.png

    基本你所看到的网页都是图上这个流程,那么乱码是怎么产生的呢?
    图中‘’网页‘’比喻成一个中国人,服务器比喻成一个聊天软件,浏览器比喻成一个外国人,那么就是你和一个外国人在对话,你说的是中文,外国人说的英文,那么问题就产生了,你们都听不懂对方说的是什么。怎么解决这个问题呢?
    解决的方式就是你也说英语那对方就明白了,或者对方学汉语这样这样对方也能明白。

    怎么能让网页和浏览器使用相同的语言呢。这里我们就少几种编码方式

    • ASCII
      全称美国标准信息交换代码(American Standard Code for Information Interchange)的缩写, 为美国英语通信所设计。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成,每个字符占7位(1字节是8位)。 就是只有英文、数字和标点符号,如果有中文就会出现乱码
    • ISOLatin-1
      可以认为ASCII是美国发明针对英语设计的知道就行了,用不上
    • Unicode
      后来计算机不断发展扩展到亚洲非洲,如何用计算机使用的二进制表示这些语言又成了问题。ISOLatin-1的8位字符集只能表示256个字符,而仅汉语就有80000以上个字符。如何把地球上绝大多数语言用一种编码方式表示出来呢? 于是发明了UNICODE编码,只用2个字节(16位)就可以编码地球上几乎所有地区的文字。终于有中文了
    • UTF-8
      utf-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。普遍都用这个
    • GBK
      中国制定一套自己的规则,于是用2个字节来表示一个汉字,总共可以覆盖2万多个文字。 保留UTF-8同样的方式使用一个字节来表示英文。推荐在国内使用
      使网页和浏览器使用相同的语言,我们不用控制浏览器的编码方式,因为每个浏览器都有自动检测页面编码的功能
    Paste_Image.png

    我们只要在自己的网页上使用meta标签声明网页的编码方式就可以避免页面乱码的问题

    <meta charset="utf-8">
    

    本文章著作权归 杜宪 和饥人谷(QQ 群: 222459918) 所有,转载须说明来源

    相关文章

      网友评论

        本文标题:聊聊网页乱码的问题

        本文链接:https://www.haomeiwen.com/subject/yplputtx.html