2009-10-07 50 views
2

我尝试使用包含挪威字符的Oracle的utl_smtp发送电子邮件(åæø)。否则,字符将在数据库中正确存储和显示,但在电子邮件中显示为问号。来自Oracle的电子邮件中的特殊字符pl/sql

我的数据库字符集为WE8MSWIN1252

我曾尝试在电子邮件不同的Content-Type MIME头包括“text/plain的; charset =“win-1252”',这似乎没有帮助。

回答

4

默认情况下,smtp是7位ascii(有点老技术:)。您必须使用UTL_SMTP.write_datadocumentation:使用 WRITE_DATA发送

文本(VARCHAR2)数据转换为US7ASCII 在发送前。如果文本 包含多字节字符,则 无法转换为US7ASCII的文本中的每个 多字节字符被 替换为'?'字符。如果 8BITMIME扩展名与 使用EHLO 子程序SMTP服务器协商,多字节数据VARCHAR2 可以通过使用UTL_RAW包, 所述 文本第一转换为RAW,然后使用 WRITE_RAW_DATA发送RAW数据发送。

有一个sample demo package on OTN显示如何发送多字节电子邮件。

+0

非常感谢Vincent! – fdl 2009-10-07 09:49:17

相关问题