가난한시인
2017-01-10 23:05:37.0
4
445

node js 인코딩 변환 질문


환경 : mac 10.11.6

node.js 버전 : 4.6.2


맥환경에서 텍스트 파일 인코딩이 iso-8859-1인 것을 euc-kr 변환하여 db에 넣는 작업을 해야했습니다.

검색해보니 iso-8859-1 파일을 binary로 읽은 후 euc-kr로 변환하니 되는 것이였습니다.

euc-kr이나 utf-8로 파일을 읽은 후 euc-kr로 할 때는 안되더니 위 사항에서만 되는 이유를 모르겠습니다.

검색한 답변에서는 자바스크립트에서는 utf8을 사용하지 않고 내부 인코딩으로 변환하지 않는다라고만 나오는데 도통 무슨 소린지...

사이다처럼 답변해주실분 안계신가요?


0
0
  • 답변 4

  • kenu
    35k
    2017-01-10 23:24:34.0 작성 2017-01-10 23:25:48.0 수정됨

    euc-kr 버리시면 됩니다.

    iso-8859-1(latin1)에서 바로 utf-8로 변환작업하시는 것을 추천합니다.

    DB의 기본 charset이 utf-8은 2012년부터 기본입니다

    MSX 가지고 서비스하는 시대도 아니니까요.


    0
  • vollfeed
    74
    2017-01-11 01:37:27.0 작성 2017-01-11 01:38:02.0 수정됨

    웟분 정답!

    하지만 굳이 쓰려면 npm에서 iconv계열을 찾아보세요


    mssql연동한다고 소스까지 뜯어고쳐가며 쓴적있네요.

    0
  • 가난한시인
    2017-01-11 08:48:54.0 작성 2017-01-11 08:49:26.0 수정됨

    @kenu, @vollfeed 님 답변 감사드립니다.


    현재 iconv-lite 를 사용해서 binary를 euckr변환하고 디비에서 보낼 때 utf8로 보내고 있습니다. binary에서 utf8변환시 한글이 깨지드라고요.ㅠㅠ 이러면 안되는 건가요?

    0
  • vollfeed
    74
    2017-01-12 00:24:29.0

    음... 저는 mssql 모듈 초기버전쓸때 디펜던시를 가진 iconv 용 모듈이 한글을 처리 못해서 한글처리되는 iconv 모듈을 쓰게 고쳤었죠.한 2년?전쯤 일이라 지금은 같은 문제는 아닐수도 있어요.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.