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')); });
반응형
'프레임워크 > [JS] node.js' 카테고리의 다른 글
[nodejs] zip 파일 생성하기 (0) | 2016.04.11 |
---|---|
[nodejs][cheerio] cheerio를 이용한 네이버 IT 뉴스 페이지 파싱하기 (0) | 2016.04.06 |
[nodejs][express] express 설치 및 기본 프로젝트 생성하기 (0) | 2016.03.30 |
[jade] node.js용 html 템플릿 엔진 (0) | 2016.03.10 |
[ejs] html 페이지 템플릿을 위한 ejs 모듈 예제 (0) | 2016.03.08 |