nodejs如何把utf-8的字符转化为gb2312
我需要往一个网站 post一组数据 ,目标网站只接收gb2312编码的。其它接到是乱码。
nodejs如何把utf-8的字符转化为gb2312?
var iconv = require('iconv-lite');
var str = '你好';
str = iconv.encode(str,'utf8');
str = iconv.decode(str,'GB2312');
str = str.toString();
console.log(str);
这样是不行的。求指导
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
以前我也遇到过,你可以看看这个http://web-engineer.cn/article/29
一楼很赞,superAgent-charset 实现了功能!!!
可惜我声望达不到15
我做了相应的总结,可以见 : 链接描述
使用NodeJs 实现新闻Rss爬虫
https://github.com/ashtuchkin...
var iconv = require('iconv-lite');
....
body = iconv.decode(body, 'gbk');
const iconv = require('iconv-lite');
const chardet = require('chardet');
const filename = './gb18030.txt';
const utf8Str = "中文";
// 从 utf-8 转为 gb18030
let gb18030Str = iconv.encode(utf8Str, 'gb18030').toString('latin1');
console.log(gb18030Str); // 乱码
// 从 gb18030 转成 utf-8
let utf8StrBack = iconv.decode(Buffer.from(gb18030Str, 'latin1'), 'gb18030');
console.log(utf8StrBack);
// 探测文件的编码
chardet.detectFile(filename).then(encoding => console.log(
encoding
));