zoukankan      html  css  js  c++  java
  • url传参解决中文乱码

    跳转前:

    window.open("http://localhost:9728/content/agent/devolution.html?search_agent=" + encodeURIComponent(va));
    

    取:

    下面是解码的方法:

    function Utf8ToUnicode(strUtf8) {
            var bstr = "";
            var nTotalChars = strUtf8.length;        // total chars to be processed.
            var nOffset = 0;                                        // processing point on strUtf8
            var nRemainingBytes = nTotalChars;        // how many bytes left to be converted
            var nOutputPosition = 0;
            var iCode, iCode1, iCode2;                        // the value of the unicode.
    
            while (nOffset < nTotalChars) {
                iCode = strUtf8.charCodeAt(nOffset);
                if ((iCode & 0x80) == 0)                        // 1 byte.
                {
                    if (nRemainingBytes < 1)                // not enough data
                        break;
    
                    bstr += String.fromCharCode(iCode & 0x7F);
                    nOffset++;
                    nRemainingBytes -= 1;
                }
                else if ((iCode & 0xE0) == 0xC0)        // 2 bytes
                {
                    iCode1 = strUtf8.charCodeAt(nOffset + 1);
                    if (nRemainingBytes < 2 ||                        // not enough data
                                       (iCode1 & 0xC0) != 0x80)                // invalid pattern
                    {
                        break;
                    }
    
                    bstr += String.fromCharCode(((iCode & 0x3F) << 6) | (iCode1 & 0x3F));
                    nOffset += 2;
                    nRemainingBytes -= 2;
                }
                else if ((iCode & 0xF0) == 0xE0)        // 3 bytes
                {
                    iCode1 = strUtf8.charCodeAt(nOffset + 1);
                    iCode2 = strUtf8.charCodeAt(nOffset + 2);
                    if (nRemainingBytes < 3 ||                        // not enough data
                                       (iCode1 & 0xC0) != 0x80 ||                // invalid pattern
                                       (iCode2 & 0xC0) != 0x80) {
                        break;
                    }
    
                    bstr += String.fromCharCode(((iCode & 0x0F) << 12) |
                                              ((iCode1 & 0x3F) << 6) |
                                              (iCode2 & 0x3F));
                    nOffset += 3;
                    nRemainingBytes -= 3;
                }
                else                                                                // 4 or more bytes -- unsupported
                    break;
            }
    
            if (nRemainingBytes != 0) {
                // bad UTF8 string.
                return "";
            }
    
            return bstr;
        }
    

      $("#txt_query_key").val(Utf8ToUnicode(“键”));

  • 相关阅读:
    clearInterval,setInterval,clearTimeout,setTimeout
    input的onkeyup效果 超级简短代码
    yourphp点击刷新验证码
    收藏的插件
    js创建和获取cookie
    js blind使用
    js控制网页滚动条往下滚动
    document.body.scrollTop用法
    yourphp问题中心
    yourphp数据库介绍
  • 原文地址:https://www.cnblogs.com/New-world/p/3350494.html
Copyright © 2011-2022 走看看