더북(TheBook)

‘한글 메일 테스트’라고 작성했던 본문 내용이 깨져 ‘?’로 표시된 것을 알 수 있다. 따라서 한글과 같은 다중 바이트 문자는 WRITE_RAW_DATA 프로시저를 사용해야 한다. 이때 매개변수로 들어오는 문자는 UTL_RAW.CAST_TO_RAW 함수를 사용해 VARCHAR2 타입을 RAW 타입으로 변환해 줘야 한다.

입력

    ...
    ...
    UTL_SMTP.WRITE_DATA(c,'From: ' || '"hong2" <charieh@hong.com>' || UTL_TCP.CRLF ); -- 보내는사람
    UTL_SMTP.WRITE_DATA(c,'To: ' || '"hong1" <charieh@hong.com>' || UTL_TCP.CRLF );   -- 받는사람
    UTL_SMTP.WRITE_DATA(c,'Subject: Test' || UTL_TCP.CRLF );                          -- 제목
    UTL_SMTP.WRITE_DATA(c, UTL_TCP.CRLF );                                            -- 한 줄 띄우기
    -- 본문을 한글로 작성하고, 이를 RAW 타입으로 변환한다.
      UTL_SMTP.WRITE_RAW_DATA(c, UTL_RAW.CAST_TO_RAW('한글 메일 테스트' || UTL_TCP.CRLF)  );
    UTL_SMTP.CLOSE_DATA(c); -- 메일 본문 작성 종료
    ...
    ...

결과

    익명 블록이 완료되었습니다.
그림 18-6 한글로 작성된 메일
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.