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); 

这样是不行的。求指导

阅读 17.7k
5 个回答

一楼很赞,superAgent-charset 实现了功能!!!
可惜我声望达不到15

我做了相应的总结,可以见 : 链接描述

使用NodeJs 实现新闻Rss爬虫

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));

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏