Специальные символы в письме от Oracle pl / sql - PullRequest
3 голосов
/ 07 октября 2009

Я пытаюсь отправить электронное письмо, используя utl_smtp с Oracle, включая норвежские символы (текст). В противном случае символы сохраняются и корректно отображаются в базе данных, но отображаются в виде вопросительных знаков в электронном письме.

Моя кодировка базы данных WE8MSWIN1252

Я пробовал разные заголовки MIME Content-Type в электронном письме, включая 'text / plain; charset = "win-1252" ', похоже, это не поможет.

1 Ответ

4 голосов
/ 07 октября 2009

По умолчанию smtp - 7bit ascii (своего рода старая технология :). Вы должны использовать UTL_SMTP.write_data и из документации :

Текстовые (VARCHAR2) данные, отправленные с использованием WRITE_DATA конвертируется в US7ASCII до его отправки. Если текст содержит многобайтовые символы, каждый многобайтовый символ в тексте, не может быть преобразован в US7ASCII заменяется на «?» персонаж. Если 8BITMIME продление согласовывается с SMTP-сервер, использующий EHLO подпрограмма, многобайтовые данные VARCHAR2 может быть отправлен путем первого преобразования текст в RAW с использованием пакета UTL_RAW, а затем отправка данных RAW с помощью WRITE_RAW_DATA.

На OTN имеется демонстрационный демонстрационный пакет , в котором показано, как отправлять многобайтовые электронные письма.

...