如果XMLHttpRequest請求一個utf8編碼的網站的話,中文可以使用js中的encodeURIComponent()方法進行轉碼
下面說一下請求gbk網站時,對中文的轉碼方法:
_encode(str, charset) {
//得到中文的gbk二進制數組
var buf = iconvLite.encode(str, charset);
var encodeStr = '';
var ch = '';
//將數組中的每一個元素轉換成16進制,轉換後的長度小於2的在前面加0,然後用%拼接
for (var i = 0; i < buf.length; i++) {
ch = buf[i].toString('16');
if (ch.length === 1) {
ch = '0' + ch;
}
encodeStr += '%' + ch;
}
encodeStr = encodeStr.toUpperCase();
return encodeStr;
}
如果上面還不能解決需要的話可以看看下面這個鏈接
https://segmentfault.com/a/1190000006919102