encodeURIComponent("灌水")
试试

解决方案 »

  1.   

    %E7%81%8C%E6%B0%B4
      

  2.   

    如果是纯JS只能用码表,除非和后台交互。
    <script type="text/javascript">
    var URLCode = {
    callback : function () {
    alert('%' + arguments[0].split(/(?=..$)/).join('%'));
    }
    };
    execScript('URLCode.callback(HEX(ASC("灌")))', 'vbs');
    </script>
      

  3.   

    实际应用是写hta小程序,本地安全即可function ConverEncoding(text, charSetFrom, charSetTo)
    {
    var adModeRead = 1;
    var adModeReadWrite = 3;
    var adModeRecursive = 0x400000;
    var adModeShareDenyNone = 16;
    var adModeShareDenyRead = 4;
    var adModeShareDenyWrite = 8;
    var adModeShareExclusive = 12;
    var adModeUnknown = 0;
    var adModeWrite = 2;
    var adReadAll = -1;
    var adReadLine = -2;

    var adTypeBinary = 1;
    var adTypeText = 2;

    var stream = new ActiveXObject("ADODB.Stream");
    with (stream)
    {
    Mode = adModeReadWrite;
    Type = adTypeText;
    Open();
    CharSet = charSetFrom;
    WriteText = text;
    Position = 0;
    CharSet = charSetTo;
    Type = adTypeBinary;
    var result = Read(adReadAll);
    Close();
    }
    delete stream;
    return result;
    }var v = ConverEncoding("灌水", "UTF-8", "GB2312");
    发现输出的东西不认识
    如果能按每个字节获取就好了!
      

  4.   

    搜索到的是一个gb2312的base64的写法
    <script language="javaScript">
    <!--
    function Base64EncodeFile(fileSpec){
    var xml_dom = new ActiveXObject("MSXML2.DOMDocument");
    var ado_stream = new ActiveXObject("ADODB.Stream");
    var tmpNode = xml_dom.createElement("tmpNode");
    tmpNode.dataType = "bin.base64";ado_stream.Type = 1; // 1=adTypeBinary 
    if(ado_stream.state==0){ // 0=adStateClosed 1=adStateOpen
    ado_stream.Open();
    }
    ado_stream.LoadFromFile(fileSpec);
    tmpNode.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll
    ado_stream.Close();return tmpNode.text;
    }
    function Base64EncodeText(TextStr){
    var xml_dom = new ActiveXObject("MSXML2.DOMDocument");
    var ado_stream = new ActiveXObject("ADODB.Stream");
    var tmpNode = xml_dom.createElement("tmpNode");
    tmpNode.dataType = "bin.base64";ado_stream.Charset = "gb2312";
    ado_stream.Type = 2; // 1=adTypeBinary 2=adTypeText
    if(ado_stream.state==0){ // 0=adStateClosed 1=adStateOpen
    ado_stream.Open();
    }
    ado_stream.WriteText(TextStr);
    ado_stream.Position = 0;
    ado_stream.Type = 1; // 1=adTypeBinary 2=adTypeText
    tmpNode.nodeTypedValue = ado_stream.Read(-1); // -1=adReadAll
    ado_stream.Close();return tmpNode.text;
    }
    function Base64DecodeText(Base64Str){
    var xml_dom = new ActiveXObject("MSXML2.DOMDocument");
    var ado_stream = new ActiveXObject("ADODB.Stream");
    var tmpNode = xml_dom.createElement("tmpNode");
    tmpNode.dataType = "bin.base64";
    tmpNode.text = Base64Str;ado_stream.Charset = "gb2312";
    ado_stream.Type = 1; // 1=adTypeBinary 2=adTypeText
    ado_stream.Open();
    ado_stream.Write(tmpNode.nodeTypedValue);
    ado_stream.Position = 0;
    ado_stream.Type = 2; // 1=adTypeBinary 2=adTypeText
    var str = ado_stream.ReadText(-1); // -1=adReadAll
    ado_stream.Close();return str;
    }
      

  5.   

    百度输入的汉字就是用GB2312编码的,Google用的就是UTF8编码的.你可以在百度与Google上输入同样的汉字编码就是不一样的,这样你看看它们的代码应该能找到你要的吧.