Home > Article > Web Front-end > I am urgently seeking advice. When transferring parameters to two HTML pages, the Chinese characters appear garbled. I tried the online method but it didn't work. _html/css_WEB-ITnose
Chinese garbled characters in js html java development
Dialog = $.ligerDialog.open({url:"plot.htm?examCourse="+examCourse+"examScore="+examScore+"averageScore="+averageScore+"classRank="+classRank, height: 350,width: 450,title:'单科成绩详细分析'});After passing it to the plot.htm page, examCourse Chinese characters appear garbled, because only this one is Chinese, so only this one is garbled, and the others are That's right, after using the encodeURIComponentinfo method on the Internet, it still doesn't work. There are still a lot of garbled percent signs. Can any enthusiastic netizen help me solve it? Urgent, urgent, urgent!
The % garbled code is the result of url encoding. Just decode it on the server side. There must be a ready-made function
Which function should I use? I checked several online but it still doesn’t work?
%garbled characters are the result of url encoding. Just decode it on the server. There must be a ready-made function. Which function should I use? I checked several online but it still doesn’t work?
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")));I kept looking and trying many methods, and finally using decodeURI miraculously worked. Haha, I’ll give you all the points