如何在一个utf-8编码的HTML中 在javascript中url跳转时把url中的汉字改为GBK编码

 我来答
小傻

推荐于2018-05-11 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31134
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部

html文件中私用JavaScript将url的汉子转为为GBK编码,主要是通过改变GBK的编码方式来实现,代码如下:

function urlencode(str, charset, callback) {
    //创建form通过accept-charset做encode
    var form = document.createElement('form');
    form.method = 'get';
    form.style.display = 'none';
    form.acceptCharset = charset;
    var input = document.createElement('input');
    input.type = 'hidden';
    input.name = 'str';
    input.value = str;
    form.appendChild(input);
    form.target = '_urlEncode_iframe_';
    document.body.appendChild(form);
    //隐藏iframe截获提交的字符串
    if (!window['_urlEncode_iframe_']) {
        var iframe = document.createElement('iframe');
        //iframe.name = '_urlEncode_iframe_';
        iframe.setAttribute('name', '_urlEncode_iframe_');
        iframe.style.display = 'none';
        iframe.width = "0";
        iframe.height = "0";
        iframe.scrolling = "no";
        iframe.allowtransparency = "true";
        iframe.frameborder = "0";
        iframe.src = 'about:blank';
        document.body.appendChild(iframe);
    }
    //
    window._urlEncode_iframe_callback = callback;
    //设置回调编码页面的地址,这里需要用户修改
    form.action = 'getEncodeStr.html';
    form.submit();
    setTimeout(function() {
        form.parentNode.removeChild(form);
        iframe.parentNode.removeChild(iframe);
    }, 500)
}
百度网友577f80d
2013-04-07 · TA获得超过791个赞
知道小有建树答主
回答量:1352
采纳率:66%
帮助的人:521万
展开全部
使用encodeURI(str)进行URL编码
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
法ke优切克闹
2015-11-03 · 超过28用户采纳过TA的回答
知道答主
回答量:57
采纳率:100%
帮助的人:32.4万
展开全部
处理乱码?为什么要转为gbk呢?直接这样encodeURI(encodeURI(name));转,然后这样java.net.URLDecoder.decode(request.getParameter("name"),"UTF-8");取出来不行吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式