oralce发邮件字符集问题
oracle通过lotus邮件服务器发送邮件,中文显示为乱码,寻求解决办法???
建procedure:
CREATE OR REPLACE PROCEDURE sendmail1 (
sender IN VARCHAR2,
recipient IN VARCHAR2,
subject IN VARCHAR2,
message IN VARCHAR2,
send IN VARCHAR2
)
IS
mailhost VARCHAR2(100) := '*.*.*.*';
mail_conn utl_smtp.connection;
crlf VARCHAR2(2) := CHR (13) || CHR (10);
mesg VARCHAR2(3000);
BEGIN
--htp.p('Contacting SMTP server: '||mailhost||'...');
mail_conn := utl_smtp.open_connection (mailhost, 25);
--htp.p('Successfully connected to SMTP server: '||mailhost);
--mesg := 'Date: ' ||
-- TO_CHAR (SYSDATE,'dd Mon yy hh24:mi:ss') ||
--TO_CHAR (SYSDATE,'yy mm dd hh24:mi:ss') ||
mesg:= 'Date: ' || to_char(sysdate,'YYYY-MON-DD HH24:MI:SS','NLS_DATE_LANGUAGE=AMERICAN') ||
crlf ||
--crlf ||
'From: <' ||
sender ||
'>' ||
crlf ||
'Subject: ' ||
subject ||
crlf ||
'To: ' ||
recipient ||
crlf ||
'' ||crlf ||
message;
dbms_output.put_line(mesg);
utl_smtp.helo (mail_conn, mailhost);
utl_smtp.mail (mail_conn, sender);
utl_smtp.rcpt (mail_conn, recipient);
utl_smtp.data (mail_conn, mesg);
utl_smtp.quit (mail_conn);
END SENDMAIL1;
测试环境:
oracle 环境8.17
os: AIX ,NLS_LANG=American_America.ZHS16CGB231280
或window,NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
lotus装在window上,字符集为简体中文