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(“键”));

  • 相关阅读:
    转化磁盘格式 FATS > NTFS
    hzgb2312 转码工具
    关于南空调,北暖气
    BSTR、_bstr_t与CComBSTR
    string 转化为其他类型
    VARIANT 、_variant_t 与 COleVariant
    恐怖级算法题目一【据说是百度的面试题】
    谈论下各大公司的网络游戏
    chinacloud,记录自己的云计算体会
    回文数的判断
  • 原文地址:https://www.cnblogs.com/New-world/p/3350494.html
Copyright © 2011-2022 走看看