网页乱码题目

    添加时间:2013-8-5 点击量:

    显然,只有发送端和接管端指代的是同样的内容,我们才干获得正确的成果。那么,对于一次搜刮恳求中关键字的提交,我们有3种体式格式,简称发1,发2,发3:


    (发1)表单POST提交


    (发2)表单GET提交


    (发3)将搜刮项直接内含在url里,如http://zh.wikipedia.org/wiki/春节 。


    先来评论辩论发1和发2景象。


    在阮一峰的这篇文章中,我们看到,对于GET和POST,在页面进行提交的时辰,提交畴昔的编码,就是提交页面的字符编码。所不合的是,若是采取的是GET体式格式,对于中文,浏览器还会遵守当前字符编码做URL编码,那么若是是GET提交畴昔的,接管方还要遵守商定先做一次URL解码。


    如许看,若是提交方、接管方是同一字符编码,则不会有神码题目。


    然而工作不会是这么简单,单就简体中文世界来讲,就有GB2312 , GBK , GB18030 , UTF-8几种常见的字符编码。对于GB系之间,除了应用希罕罕用的考验人品的字符之外,其他一般可以认为是一种编码。然则GB系和UTF-8之间互相提交经常会呈现题目。比如我们前文提到的就是UTF-8页面向GBK页面提交的景象。当编码达到接管方,接管方固执地用本身的字符编码来申明另一种字符编码,于是神码出没。


    好吧,那题目从宏观上有了两种解决思路,简称解1,解2:


    (解1) 发送方把本身的提交的字符编码变成接管方的字符编码


    对于GB系向UTF-8提交,这个办法是可行的。JS的encodeURIComponent办法,会强迫把提交参数换成UTF-8. 拜见拔赤的这篇文章


    对于UTF-8向GB系提交,这个办法有些错杂。网上有一些,各出缺点,所列如下:





    解决规划我所有的自负皆来自我的自卑,所有的英雄气概都来自于我的软弱。嘴里振振有词是因为心里满是怀疑,深情是因为痛恨自己无情。这世界没有一件事情是虚空而生的,站在光里,背后就会有阴影,这深夜里一片寂静,是因为你还没有听见声音。—— 马良《坦白书》
    分享到: