: This article mainly introduces UTF-8 and GBK character encoding conversion in JS. For more information about PHP tutorials, see. Link: http://igogogo9.iteye.com/blog/105669
1. the json_encode function in PHP can only encode the data of the UTF-8. when converting the data of GBK or GB2312 encoding, it will convert the Chinese character to NULL.
2. use of json in JavaScript:
① Convert the object into a json string:
JSON. stringify (obj)
② Convert json into an object:
DataObj = eval ('{"name": "Jack "}');
③ Convert json generated by PHP into an object:
DataObj = eval ('( 'Jack')?>) ');
3. conversion of GBK and UTF-8 in JavaScript:
function GB2312UTF8(){this.Dig2Dec=function(s){ var retV = 0; if(s.length == 4){ for(var i = 0; i < 4; i ++){ retV += eval(s.charAt(i)) * Math.pow(2, 3 - i); } return retV; } return -1;} this.Hex2Utf8=function(s){ var retS = ""; var tempS = ""; var ss = ""; if(s.length == 16){ tempS = "1110" + s.substring(0, 4); tempS += "10" + s.substring(4, 10); tempS += "10" + s.substring(10,16); var sss = "0123456789ABCDEF"; for(var i = 0; i < 3; i ++){ retS += "%"; ss = tempS.substring(i * 8, (eval(i)+1)*8); retS += sss.charAt(this.Dig2Dec(ss.substring(0,4))); retS += sss.charAt(this.Dig2Dec(ss.substring(4,8))); } return retS; } return "";} this.Dec2Dig=function(n1){ var s = ""; var n2 = 0; for(var i = 0; i < 4; i++){ n2 = Math.pow(2,3 - i); if(n1 >= n2){ s += '1'; n1 = n1 - n2; } else s += '0'; } return s; }this.Str2Hex=function(s){ var c = ""; var n; var ss = "0123456789ABCDEF"; var digS = ""; for(var i = 0; i < s.length; i ++){ c = s.charAt(i); n = ss.indexOf(c); digS += this.Dec2Dig(eval(n)); } return digS;}this.Gb2312ToUtf8=function(s1){ var s = escape(s1); var sa = s.split("%"); var retV =""; if(sa[0] != ""){ retV = sa[0]; } for(var i = 1; i < sa.length; i ++){ if(sa[i].substring(0,1) == "u"){retV += this.Hex2Utf8(this.Str2Hex(sa[i].substring(1,5))); if(sa[i].length){ retV += sa[i].substring(5); } } else{ retV += unescape("%" + sa[i]); if(sa[i].length){ retV += sa[i].substring(5); } } } return retV;}this.Utf8ToGb2312=function(str1){var substr = "";var a = "";var b = "";var c = "";var i = -1;i = str1.indexOf("%");if(i==-1){ return str1;}while(i!= -1){ if(i<3){substr = substr + str1.substr(0,i-1);str1 = str1.substr(i+1,str1.length-i);a = str1.substr(0,2);str1 = str1.substr(2,str1.length - 2);if(parseInt("0x" + a) & 0x80 == 0){ substr = substr + String.fromCharCode(parseInt("0x" + a));}else if(parseInt("0x" + a) & 0xE0 == 0xC0){ //two byteb = str1.substr(1,2);str1 = str1.substr(3,str1.length - 3);var widechar = (parseInt("0x" + a) & 0x1F) << 6;widechar = widechar | (parseInt("0x" + b) & 0x3F);substr = substr + String.fromCharCode(widechar);}else{b = str1.substr(1,2);str1 = str1.substr(3,str1.length - 3);c = str1.substr(1,2);str1 = str1.substr(3,str1.length - 3);var widechar = (parseInt("0x" + a) & 0x0F) << 12;widechar = widechar | ((parseInt("0x" + b) & 0x3F) << 6);widechar = widechar | (parseInt("0x" + c) & 0x3F);substr = substr + String.fromCharCode(widechar);} } else { substr = substr + str1.substring(0,i); str1= str1.substring(i); } i = str1.indexOf("%");}return substr+str1;}}
The above introduces the UTF-8 and GBK character encoding conversion in JS, including some content, and hope to be helpful to friends who are interested in PHP tutorials.