Dynamics CRM GBK编码

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 }
汉字转为gbk编码
原文地址:https://www.cnblogs.com/SilverWolf/p/6674532.html