Проверьте, правильно ли был установлен UTL_MAIL.
Перейдите по ссылке UTL_MAIL для получения информации и требуемой конфигурации
Setup
The package is loaded by running the following scripts.
CONN sys/password AS SYSDBA
@$ORACLE_HOME/rdbms/admin/utlmail.sql
@$ORACLE_HOME/rdbms/admin/prvtmail.plb
In addition the SMTP_OUT_SERVER parameter must be set to identify the SMTP server.
CONN sys/password AS SYSDBA
ALTER SYSTEM SET smtp_out_server='smtp.domain.com' SCOPE=SPFILE;
-- Instance restart only necessary in 10gR1.
SHUTDOWN IMMEDIATE
STARTUP
.
Насколько я могу сказать, стандартная библиотека не имеет функции, хотя не слишком трудно записать то, как предложено выше. Я думаю реальная вещь, которую я искал, был способ декодировать строку и гарантировать, что она не выдаст исключение. Ошибочный параметр к string.decode делает это.
def decode(s, encodings=('ascii', 'utf8', 'latin1')):
for encoding in encodings:
try:
return s.decode(encoding)
except UnicodeDecodeError:
pass
return s.decode('ascii', 'ignore')
+1 для модуль chardet (предложенный @insin
).
Это не находится в стандартной библиотеке, но можно легко установить его со следующей командой:
$ pip install chardet
Пример :
>>> import chardet
>>> import urllib
>>> detect = lambda url: chardet.detect(urllib.urlopen(url).read())
>>> detect('http://stackoverflow.com')
{'confidence': 0.85663169917190185, 'encoding': 'ISO-8859-2'}
>>> detect('https://stackoverflow.com/questions/269060/is-there-a-python-lib')
{'confidence': 0.98999999999999999, 'encoding': 'utf-8'}
Видят Устанавливать Зернышко , если у Вас нет того.
Можно интересоваться Universal, Кодирующая Детектор .
Лучший способ сделать это, что я нашел, должно многократно попытаться декодировать предполагаемое с каждой наиболее распространенной кодировкой в попытке кроме блока.