Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Указать кодировку [D7, WinME]


SergProger ©   (2005-12-28 21:21:00) 

Привет, Народ! Люди, вот отправляю почту:

procedure TForm1.Button1Click(Sender: TObject);
begin
 Button1.Enabled:=False;
 IdMessage1.Clear;
 IdMessage1.From.Text:=Edit1.Text;
 IdMessage1.Recipients.Add.Text:=Edit2.Text;
 IdMessage1.Subject:=Edit3.Text;
 IdMessage1.Body.Assign(Memo1.Lines);
 IdSMTP1.Host:='mail.atnet.ru';
 IdSMTP1.Connect;
 IdSMTP1.Send(IdMessage1);
 IdSMTP1.Disconnect;
 Button1.Enabled:=True;
end;

Она приходит, но в кодировке "Кириллица (Windows)". А можно так, чтобы оно отправлялось в кодировке "Кириллица (KOI-8)"?


palva   (2005-12-29 12:52:00) [1]

> Только мне надо, чтобы он открывал не в кодировке KOI8-R, а в кодировке Windows.
Если вы пользуетесь Outlook Express, то тут правила такие. Если в письме указана кодировка, то открывается в указанной. Если в письме кодировки нет, то открывается в кодировке заданной по умолчанию в параметрах Outlook Express.

Так что укажите в письме Charset=Windows-1251 и будет открываться в кодировке Windows. Вы должны позаботиться, чтобы кодировка, которую вы используете в Body совпадала с указанной, иначе клиент увидит иероглифы.


Anatoly Podgoretsky   (2005-12-29 12:22:00) [2]

В сети есть много информации, если не хочешь сам делать таблицу перекодировки, то ко мне на сайт за готовой или тоже самое поищи в Сети, их только ленивый не делал.


SergProger   (2005-12-29 12:02:00) [3]

А как тогда узнать всю таблицу KOI8-R ?


Anatoly Podgoretsky   (2005-12-29 09:05:00) [4]

Да хотя бы по таблице символов S[I] := Tbl[S[I]]


SergProger   (2005-12-29 03:39:00) [5]

Вроде работает. Только мне надо, чтобы он открывал не в кодировке KOI8-R, а в кодировке Windows.


> Для этого надо перекодировать Body

Как это реализовать?


palva   (2005-12-29 00:24:00) [6]

SergProger ©   (28.12.05 23:24) [4]
В самом деле, перепутал. Нужно не plain/text, а text/plain


SergProger   (2005-12-28 23:24:00) [7]

Пардон! palva, почему-то он при этом весь текст сообщения помещает во вложенный файл. Почему так?


SergProger   (2005-12-28 23:00:00) [8]

Большое спасибо!


palva   (2005-12-28 22:48:00) [9]

Для этого надо перекодировать Body. Можно также указать кодировку в письме, чтобы, если у клиента по умолчанию установлена другая кодировка, он не занимался ее переключением.

можно так
IdMessage1.ContentType := 'html/text; charset="KOI8-R"';
или так
IdMessage1.ContentType := 'plain/text; charset="KOI8-R"';


Anatoly Podgoretsky   (2005-12-28 22:45:00) [10]

Ты хочешь указать кодировку или все таки отправить в кодировке KOI8r это все таки разные вещи.


Наверх

Титульная страница Поиск, карта сайта Написать письмо