프레임워크/[JS] node.js

[nodejs] 한글이 깨지는 현상 수정하기

hs_seo 2016. 3. 30. 15:55

nodejs에서 한글이 깨지는 현상은

iconv 나 iconv-lite 모듈을 이용하여 처리 가능하다.


iconv-lite는 iconv를 보고 자바스크립트로만 만들어진 모듈이다.


아래는 request 모듈을 이용하여 네이버 뉴스 페이지를 파싱하던중

한글깨짐이 발생하여 확인한 것이다.


둘중 편한 방법을 사용하면 될 것 같다.



var request = require("request");
var cheerio = require('cheerio');
var iconv  = require('iconv-lite');
//var Iconv1  = require('iconv').Iconv;

var requestOptions  = { method: "GET"
			,uri: "http://news.naver.com/main/list.nhn?mode=LS2D&mid=shm&sid1=105&sid2=731"
			,headers: { "User-Agent": "Mozilla/5.0" }
			,encoding: null
	            	};

request(requestOptions, function(error, response, body) {
    //iconv를 사용하는 방법
    //var strContents = new Buffer(body, 'binary');
    //iconv = new Iconv1('euc-kr', 'UTF8');
    //strContents = iconv.convert(strContents).toString();

    // iconv-lite를 사용하는 방법
    iconv.extendNodeEncodings();
    var strContents = new Buffer(body);
    console.log(strContents.toString('euckr'));
});




반응형