2009-10-07 89 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