Мы написали программу на Delphi, которая отправляет некоторую информацию с CDO.
В моей машине Win7 (венгерский) акценты работают нормально.
Так что, если я отправил письмо с «ÁÉÍÓÖŐÚÜŰ», я получил его в этом формате.
Я использовал кодировку iso-8859-2 в теле, и это кодирует тему и адреса электронной почты (адрес отправителя содержит имя).
Я думал, что с этим покончил.
Но когда я пытаюсь отправить письмо с английской машины Win2k3 (почтовый сервер такой же!), Результат усекается:
U = U
Ő = O
Далее я попытался использовать здесь кодировку UTF-8.
Это дало акценты, но неправильно.
Почта содержит акценты со знаками ^.
ê <> é
Это недействительное венгерское письмо ...: - (
Итак, я хочу знать, как мне преобразовать или настроить вход, чтобы я получил хороший результат.
Я попытался зарегистрировать тело, чтобы увидеть изменения ...
Log(SBody);
Msg.Body := SBody;
Log(Msg.Body);
... или нет.
Но эти журналы дают хороший результат, ввод хороший.
Таким образом, возможна потеря и неправильное преобразование в CDO, генерирующее сообщение.
Могу ли я помочь CDO, если смогу кодировать текст ANSI в настоящий UTF.
Но в функциях конвертера Delphi нет параметров CodePage.
В Python я могу сказать:
s.encode('iso-8859-2')
или
s.decode('iso-8859-2')
Но в Delphi я не вижу этот параметр.
Кто-нибудь знает, как сохранить акценты, как преобразовать акцентированные венгерские строки, чтобы сохранить их акцентированный формат?
И я хочу знать, могу ли я проверить результат без отправки почты?
Спасибо за вашу помощь:
дд