我正在使用Express
设置新服务器,并在本地使用axios发送http请求。但是,json的axios响应出现乱码。下面是尝试,我在axios中请求的内容类型。
headers: {
'Content-Type': 'application/json; charset=shift-jis',
'Access-Control-Allow-Origin': '*',
'accept-encoding': null,
proxy: false,
responseType: 'arraybuffer',
responseEncoding: 'binary',
gzip: true,
encoding: null,
},
axios.get(options.url, options).then((response) => {
console.log(response.data);
return res.send(response.data);
});
我想通过こんにちは
之类的shift-jis获得经过编码的Json响应,但实际输出是���M���X
。字母乱码的原因可能是Accept-Encoding
的配置。但是我该如何精确设置呢?
答案 0 :(得分:0)
const axios = require('axios').create({
responseType: 'arraybuffer',
});
axios.get(options.url, options).then((response: any) => {
const str = iconv.decode(response.data, 'shift-JIS');
console.log(`${str.toString()}`);
return res.send(`${str.toString()}`);
});