Dynamics CRM用文本汉字为条件去请求数据时,传过去的竟然是GBK编码⊙_⊙
下面这段代码解决了我的问题,这是拷贝自网上一位大神的博客:
http://qq100002656.blog.163.com/blog/static/11890173620121126103733920/
1 //汉字转为gbk 2 function encodeURL(s) { 3 var img = document.createElement("img"); 4 // escapeDBC 对多字节字符编码的函数 5 function escapeDBC(s) { 6 if (!s) return "" 7 if (window.ActiveXObject) { 8 // 如果是 ie, 使用 vbscript 9 execScript('SetLocale "zh-cn"', 'vbscript'); 10 return s.replace(/[dD]/g, function($0) { 11 window.vbsval = ""; 12 execScript('window.vbsval=Hex(Asc("' + $0 + '"))', "vbscript"); 13 return "%" + window.vbsval.slice(0,2) + "%" + window.vbsval.slice(-2); 14 }); 15 } 16 // 其它浏览器利用浏览器对请求地址自动编码的特性 17 img.src = "nothing.action?separator=" + s; 18 return img.src.split("?separator=").pop(); 19 } 20 // 把 多字节字符 与 单字节字符 分开,分别使用 escapeDBC 和 encodeURIComponent 进行编码 21 return s.replace(/([^x00-xff]+)|([x00-xff]+)/g, function($0, $1, $2) { 22 return escapeDBC($1) + encodeURIComponent($2||''); 23 }); 24 }