프레임워크/[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')); });
반응형