Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

indy 10(pop smpt) и кодировка [WinXP]


ther   (29.01.09 13:06

драсте...
сидел сутки но не продвинулся ни на шаг...вопрос по indy 10(pop smpt) и delphi 2009...читал кучу советов но не один не помог..проблема с кодировкой(знаю обсасывался этот вопрос со всех сторон)..
проблема номер раз
приходит письмо IdMessage1.Headers.Values['Content-Type'] показывает Windows-1251 а выводит что то типа Qepbhq иль на подобии
пробовал разбирать письмо перебором частей
[Code]for i:= 0 to IdMessage1.MessageParts.Count-1 do begin[/Code]
но IdMessage1.MessageParts.Count всегда =0
указывания
[Code]procedure TForm1.IdMessage1InitializeISO(var VHeaderEncoding: Char;
 var VCharSet: string);
begin
   VCharSet:='windows-1251';
   VHeaderEncoding := 'Q';//B
end;[/Code]
толку не дают
настройка IdMessage1 на Windows-1251 аналогично..эффект 0...перекомпилить indy тож не могу..каких то файлов не хватает(если можно носом в ссылку где можно качнуть) а то на http://www.indyproject.org не работает качалка...

заранее спасибо


Anatoly Podgoretsky ©   (29.01.09 13:50[1]

> ther  (29.01.2009 13:06:00)  [0]

Какие у тебя заголовки в письме, какая реальная кодировка?


ther   (29.01.09 13:54[2]

из bat
Content-Type: text/plain; charset=windows-1251


Anatoly Podgoretsky ©   (29.01.09 16:09[3]

Content-Type, если он относится к нужному куску указан правильно, а какой реальный текст в этом куске?


ther   (29.01.09 16:22[4]

пасиб но уже не не нужно..я перескочил на ics...indy по описанию уж сильно глюкавая..ics хоть безгеморно кодировку определяет...кроме некоторых


Прог   (10.02.09 17:31[5]

with LastGeneratedHeaders do
 begin
   {CC: If From has no Name field, use the Address field as the Name field by setting last param to True (for SA)...}
   Values['From'] := EncodeAddress(FromList, HeaderEncoding, TransferHeader, ISOCharSet, True); {do not localize}
   Values['Subject'] := Subject;//EncodeHeader(Subject, [], HeaderEncoding, TransferHeader, ISOCharSet); {do not localize}
   Values['To'] := EncodeAddress(Recipients, HeaderEncoding, TransferHeader, ISOCharSet); {do not localize}
   Values['Cc'] := EncodeAddress(CCList, HeaderEncoding, TransferHeader, ISOCharSet); {do not localize}
   {CC: SaveToFile sets FGenerateBCCListInHeader to True so that BCC names are saved
    when saving to file and omitted otherwise (as required by SMTP)...}
   if FGenerateBCCListInHeader = False then begin
     Values['Bcc'] := ''; {do not localize}
   end else begin
     Values['Bcc'] := EncodeAddress(BCCList, HeaderEncoding, TransferHeader, ISOCharSet); {do not localize}
   end;


Прог   (10.02.09 19:00[6]

Это в модуле IdMessage.pas надо исправить. И перекомпилить IndyProtocolsX.dpk


Прог   (11.02.09 12:47[7]

или написать такую штуку: SysLocale.PriLangID := LANG_UKRAINIAN;


spasius   (25.04.09 17:33[8]

подобная проблема есть и в HTTPServer.
решения данной проблемы нигде нет.
может кто что подскажет?


Mark   (23.06.09 00:06[9]

Прог, ты гений! :-)

Я сколько искал решение и вот как все просто -

SysLocale.PriLangID := LANG_UKRAINIAN;

Спасибо!!!


Прог   (06.07.09 12:03[10]

У меня строка "SysLocale.PriLangID := LANG_UKRAINIAN;" добавлина вот так:
pPostMessage := TIdMessage.Create(self);
   try
     pPostMessage.Date := now;
     pPostMessage.Recipients.Add.Address := 'xxxx@telnet.ua';
     pPostMessage.From.Address := 'xxxx@telnet.ua';
     pPostMessage.From.Name := cCurrentUserName;
     SysLocale.PriLangID := LANG_UKRAINIAN;      pPostMessage.CharSet := 'windows-1251';
     pPostMessage.ContentType := 'text/plain; charset=windows-1251';
     pPostMessage.ContentTransferEncoding := 'quoted-printable';


Дмитрий Белькевич   (28.07.09 00:51[11]


> подобная проблема есть и в HTTPServer. решения данной проблемы
> нигде нет.может кто что подскажет?


Байты, вообще, везде одинаковые (с). Если иначе никак - то можно побайтно сравнить, что куда отдаётся. Сам 9-ку правил слегка на 2009-й делфе. Как я понял (по куче хинтов), её вообще не затачивали под работу на 2009-й. Ничего - мозг благополучно вправлен, HTTPServer 9-ки нормально заработал. Где-то 3-4 часа работы... Всё в юникодовость упирлось, что и ожидалось.


demin_as   (05.04.11 13:09[12]

Удалено модератором
Примечание: спам


specialist_ ©   (21.08.12 20:25[13]

Удалено модератором


specialist_ ©   (21.08.12 20:26[14]

Посмотрите, в этой теме решение
http://specialistnotes.blogspot.com/2012/08/delphi-indy-10.html


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо