Home  >  Article  >  Web Front-end  >  急求教,在两个htm页面传参数时中文出现了乱码,试了网上的方法不管用。_html/css_WEB-ITnose

急求教,在两个htm页面传参数时中文出现了乱码,试了网上的方法不管用。_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 12:25:051161browse

js html java开发 中文乱码


	  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居然奇迹般的好了,呵呵,把分都给你们吧

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn