티스토리 뷰

발생일: 2018.09.03

키워드: euc-kr, euckr, node.js, iconv, 인코딩, encoding, escape, encodeURIComponent

문제:
노드에서 euc-kr 로 인코딩 된 페이지로 GET 요청을 보내려고 한다.
한글이 포함된 값을 파라미터로 전송하려고 하는데, 어떻게 인코딩하면 될까?


해결책:
iconv 라이브러리를 활용하면 된다.

const buffer = iconv.encode('한글이 포함된 파라미터', 'euckr'); // 파라미터를 euc-kr 로 인코딩 해 버퍼에 담은 후,
const param = encode(buffer.toString('binary')); // 바이너리로 변환해 이스케이프하면 된다.


논의:
encodeURI() 와 encodeURIComponent() 는 UTF8 인코딩된 문자열을 대상으로 한다.
UTF8로 인코딩되지 않은 문자열을 URL 인코딩(퍼센트 인코딩)하고자 할 땐, 바이너리로 변환 후 escape() 함수를 사용하면 된다.


참고:
노드에서 euc-kr 로 인코딩된 문서나 페이지를 읽어올 땐 아래 포스트를 참고

클라이언트에서 euc-kr로 submit을 보낼 땐 아래 포스트를 참고



반응형
댓글
공지사항