[NodeJS] TCP로 EUC-KR 문자열 전달
NodeJS로 개발을 진행 중 TCP 통신으로 다른 서버와 연결을 해야 하는 경우가 있습니다.
그 서버 인코딩이 UTF-8이라면은 아무런 문제 없이 개발을 할 수 있겠지만,
서버 인코딩이 EUC-KR일 경우 받는 쪽에서는 문자열이 깨져서 수신이 되게 됩니다.
보낼때 iconv 등을 통해서 인코딩을 EUC-KR로 변경해서 보내면 되겠지라고 생각 하지만,
TCP write시 인코딩은 UTF-8과 binary만 지정이 가능합니다.
역시나 받는쪽에서도 인코딩이 깨져서 수신이 됩니다.
서버 쪽에서 해당 하는 부분을 대응해서 개발을 해 주면 좋겠지만,
그렇지 않을 때에는 보낼때 EUC-KR로 보내야 합니다.
관련한 정보를 찾아보던 중에 문자열을 보내는게 아니라 buffer 형태로 보내는 방법을 찾게 되었습니다.
iconv를 통해서 UTF-8 문자열을 EUC-KR로 변경을 하면 buffer array가 반환이 됩니다.
이 값을 그대로 전달을 하면 EUC-KR 문자열을 전달 할 수가 있습니다.
TCP 연결 코드는 별도로 설명하지 않겠습니다.
해당 부분은 검색하면 많이 나와서 생략하였습니다.
먼저 stream 모듈을 설치를 해 주세요.
그리고 write 함수를 사용하는 부분을 아래 코드와 같이 변경을 해 주시면 됩니다.
const stream = require('stream');
let readStream = new stream.PassThrough();
readStream.end(new Buffer('Test data.'));
readStream.pipe(client);
송수신 문자열은 iconv를 통해서 UTF-8 또는 EUC-KR로 변환을 해 주시면 됩니다.
'Programing > NodeJS' 카테고리의 다른 글
[NodeJS] PM2 실행시 Permission denied, activate current user 오류 (0) | 2020.11.13 |
---|---|
[NodeJS] HTTP request EUC-KR 값 전달 (0) | 2019.06.19 |
사파리 3로 본 홈페이지......
보시다시피 별반 차이없이 보이고는 있습니다.
다행인가?? 아무튼...
이번에는 블로그로 가 보았습니다.
역시나 별 다를것 없이 잘 보이네요.
글꼴이 달라서 좀 다르게 보이기는 하지만.......
아무튼..... 참 사파리를 처음 설치하시면 인코딩 설정을 하셔야 할 듯합니다.
안 하면 제대로 표시가 안 되더군요;;;;;;
페이지별로 인코딩을 설정하는 거고요.
아예 환경설정에서 인코딩을 설정하는 건, Edit - Preference에 가셔서 아래 그림과 같이 설정을 하시면 됩니다.
정말 대충 써보고 써 내려간 사용기였습니다~~~~
' 잡담 > 홈페이지' 카테고리의 다른 글
홈페이지 디자인이........ (2) | 2007.09.13 |
---|---|
파란 웹호스팅 (6) | 2007.09.10 |
요 며칠간 심심함에 못 이겨 작업한 이미지들........ (2) | 2007.08.26 |
斡悧美連盒高等學敎(알리미연합고등학교) (1) | 2007.05.22 |
07년 04월 홈페이지 접속 로그~~~ (4) | 2007.05.01 |