‘한글 메일 테스트’라고 작성했던 본문 내용이 깨져 ‘?’로 표시된 것을 알 수 있다. 따라서 한글과 같은 다중 바이트 문자는 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); -- 메일 본문 작성 종료
...
...
결과
익명 블록이 완료되었습니다.