在百度中输入“好”搜索,url变为http://www.baidu.com/s?bs=%BA%C3%C8%CB&f=8&rsv_bp=1&wd=%BA%C3&inputT=1017
其中wd表示当前输入的内容,即"好" == "%BA%C3"
utf8中的"好" == "%E5%A5%BD"
首先我想确认"%BA%C3"是否为GBK编码,如果是的话,请教js里如何把utf8转为GBK编码
我这边只支付纯静态页面,所以没法通过后端程序转,大家帮帮忙。

解决方案 »

  1.   

    http://www.baidu.com/s?wd=%E5%A5%BD&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&n=2&inputT=722我输入 好 后连接是这样的
      

  2.   

    其实我想测的是百度百科,我贴上2个链接就能说明这个问题了:http://baike.baidu.com/searchword/?word=%BA%C3&pic=1&sug=1&oq=%BA%C3http://baike.baidu.com/searchword/?word=%E5%A5%BD&pic=1&sug=1&oq=%E5%A5%BD
      

  3.   

    不需要 转,看看这个http://blog.csdn.net/sohighthesky/article/details/5606725
      

  4.   

    "好" == "%BA%C3" 并不是GBK的意思是给编码了一下,js可以用encodeURI或者escape进行编码用decodeURI或者unescape进行解码
      

  5.   

    js 只有utf-8 编码方式gb2312 需要自己写。
    但是要知道 编码规则,才能写。
    我只找到 utf-8的编码规则:
    例子: “你”字的UTF-8编码: E4 BD A0        11100100 10111101 10100000
    “你”的Unicode编码: 4F 60            01001111 01100000
    按照UTF-8的编码规则,分解如下:xxxx0100 xx111101 xx100000
    把除了x之外的数字拼接在一起,就变成“你”的Unicode编码了。
    注意UTF-8的最前面3个1,表示整个UTF-8串是由3个字节构成的。
    经过UTF-8编码之后,再也不会出现敏感字符了,因为最高位始终为1。
    gb2312 需要字库,通常都是服务器端处理的。GB2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄罗斯语西里尔字母在内的682个全形字符。                   GB2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖99.75%的使用频率。GB2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。                   01-09区为特殊符号。                   16-55区为一级汉字,按拼音排序。                    56-87区为二级汉字,按部首/笔画排序。                   10-15区及88-94区则未有编码。                举例来说,“啊”字是GB2312之中的第一个汉字,它的区位码就是1601。字节结构在使用GB2312的程序中,通常采用EUC储存方法,以便兼容于ASCII。每个汉字及符号以两个字节来表示。第一个字节称为“高位字节”,第二个字节称为“低位字节”。 “高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上0xA0)。例如“啊”字在大多数程序中,会以0xB0A1储存。(与区位码对比:0xB0=0xA0+16,0xA1=0xA0+1)。                   所以GB2312编码中汉字区码的十进制是从176到247,位码是从161到255.之所以存储了6763小于82*94=6768,是因为在区码为215,位码为250-254之间共五个编码没有汉字编码,所以6768-5=6763个。
      

  6.   

    “%BA%C3”不是GBK编码,而是unicode编码
    一般unicode的编码和解码,js有内置的函数,可以使用
    decodeURIComponent("****")
    来解码
      

  7.   

    前台可以用:encodeURI(变量)或者encodeURI(encodeURI(变量))
    后台可以用:URLEncoder.encode(变量,"UTF-8")
      

  8.   

    不管什么汉字,"%BA%C3"两组肯定是GBK,utf-8是三组"%E5%A5%BD"!
    你用decodeURL解码成汉字就好办了。
      

  9.   


    http://zhidao.baidu.com/question/55467860.html
      

  10.   

    应该放这个的
    放错了
    http://www.cnblogs.com/cy163/archive/2007/05/31/766886.html