跳到主要内容
CNode

nodejs编码问题, 如何处理日文乱码

问答
Jjin5354发布于 11 年前最后回复 11 年前
658870

这两天在写一个透明代理,主要目的是抓包,代理工作很正常,不过在抓取数据包时,中文网站正常,日文网站会出现乱码问题,请各位指点一下要如何处理。

var remoteRequest = http.request(requestOptions, function(remoteResponse) {
	if(remoteResponse.headers['content-type'] && remoteResponse.headers['content-type'].search(/json/ig) !== -1) {
                var body = '';
                remoteResponse.on('data',function(chunk){  
                    body += chunk;  
                });   
                remoteResponse.on('end',function(){  
                        console.log(body);
                });
            }
}

访问后,chrome浏览器端解析一切正常: ADE81E6F-BFC3-4B7E-9AA4-0E18B552E84B.png 代理处的抓取结果: B0A00F5C-4526-4732-B390-5A38F0EA6CE7.png header里写了charset是utf-8,我尝试了remoteResponse.setEncoding('utf-8'),还是没什么用。 ���RPPP�*��+HVR�RP2�3P��&秤��� �j���y% 当我看到一串乱码时,我该怎么判断这是什么编码呢?

查看回复

回复 (6)

J
jin5354#611 年前
引用 JacksonTian教你们多少回了,别用 body += chunk;

@JacksonTian 谢谢您,已经改用Buffer处理了。初学node.js,确实要多查一些资料

M
magicdawn#511 年前

哈哈~楼楼上快去买楼上的深入浅出Node.js

J
JacksonTian#411 年前

教你们多少回了,别用 body += chunk;

J
jin5354#311 年前

谢谢楼上,乱码问题是由于服务器端开启了gzip压缩导致。要先使用zlib包进行解码。

Y
yuanzhhh#211 年前

或者你也可以抓包看看

Y
yuanzhhh#111 年前

页面显示不一定也是乱码

参与回复

登录后即可参与回复。登录