时间:2021-07-01 10:21:17 帮助过:22人阅读
Dialog = $.ligerDialog.open({url:"plot.htm?examCourse="+examCourse+"examScore="+examScore+"averageScore="+averageScore+"classRank="+classRank, height: 350,width: 450,title:'单科成绩详细分析'});传到plot.htm页面后examCourse中文出现了乱码,因为只有这个是中文,所以只有这个是乱码,其他的都是对的,用了网上的encodeURIComponentinfo方法后还是不管用,依旧是很多百分号的乱码,哪位热心网友帮我解答一下。急急急急急急!
%乱码就是url编码的结果,服务端解码一下就行了,肯定有现成的函数
用哪个函数啊,网上查了几个还是不管用?
%乱码就是url编码的结果,服务端解码一下就行了,肯定有现成的函数 用哪个函数啊,网上查了几个还是不管用?
Try this
function utf8to16(str) { var out, i, len, c; var char2, char3; out = ""; len = str.length; i = 0; while(i < len) { c = str.charCodeAt(i++); switch(c >> 4) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: out += str.charAt(i-1); break; case 12: case 13: char2 = str.charCodeAt(i++); out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F)); break; case 14: char2 = str.charCodeAt(i++); char3 = str.charCodeAt(i++); out += String.fromCharCode(((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0)); break; } } return out;}document.writeln(utf8to16(unescape("%E4%BD%A0%E5%A5%BD")));
Try this
function utf8to16(str) { var out, i, len, c; var char2, char3; out = ""; len = str.length; i = 0; while(i < len) { c = str.charCodeAt(i++); switch(c >> 4) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: out += str.charAt(i-1); break; case 12: case 13: char2 = str.charCodeAt(i++); out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F)); break; case 14: char2 = str.charCodeAt(i++); char3 = str.charCodeAt(i++); out += String.fromCharCode(((c & 0x0F) << 12) | ((char2 & 0x3F) << 6) | ((char3 & 0x3F) << 0)); break; } } return out;}document.writeln(utf8to16(unescape("%E4%BD%A0%E5%A5%BD")));我后面一直找一直找,试了很多方法,最后用decodeURI居然奇迹般的好了,呵呵,把分都给你们吧