有时候不得不在项目中传递一些中文参数,这个时候就引发了一个问题,即中文乱码的问题。尝试了在服务端进行编码处理、在web.config中进行全局编码设置,设置如下:
<
globalization requestEncoding
=
"
utf-8
"
responseEncoding
=
"
utf-8
"
fileEncoding
=
"
utf-8
"
/>
但在有的机器上面正常,有的机器还是有乱码情况。
在服务端编码方式解决不了问题,所以想到在客户端进行处理,即通过js进行编码处理问题才得以解决。具体实现方式如下所示:
function
queryString(query) {
var search = window.location.search + '' ;
if (search.charAt( 0 ) != ' ? ' ) {
return '' ;
}
else {
search = search.replace( ' ? ' , '' ).split( ' & ' );
for ( var i = 0 ; i < search.length; i ++ ) {
if (search[i].split( ' = ' )[ 0 ] == query) {
return decodeURI(search[i].split( ' = ' )[ 1 ]);
}
}
return '' ;
}
}
var search = window.location.search + '' ;
if (search.charAt( 0 ) != ' ? ' ) {
return '' ;
}
else {
search = search.replace( ' ? ' , '' ).split( ' & ' );
for ( var i = 0 ; i < search.length; i ++ ) {
if (search[i].split( ' = ' )[ 0 ] == query) {
return decodeURI(search[i].split( ' = ' )[ 1 ]);
}
}
return '' ;
}
}
直接调用js函数进行参数传递即可: author = queryString("author");