js页面中文传值乱码问题

开发中发现页面传中文字符会发生乱码,有效的方法就是进行编码传值,接收后解码。

  传值页面:

var name = "测试";
window.open("index1.aspx?name=" + encodeURI(encodeURI(name)));

  接收页面:

var name = decodeURI(getUrlParam("name"));

function getUrlParam(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null)
        return unescape(r[2]);
    return null;
};

说明

  encodeURI() 函数可把字符串作为 URI 进行编码,decodeURI()进行解码。对中文需要进行两次编码才能解决乱码问题。

本文来自博客园,作者:一纸年华,转载请注明原文链接:https://www.cnblogs.com/nullcodeworld/p/15592488.html

原文地址:https://www.cnblogs.com/nullcodeworld/p/15592488.html