Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.06.2012, 19:06
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию письма с пометкой RE:

работаю с почтой, использую компонент SakPOP1
обычные письма приходят в CP1251 и кирилица нормальная в UTF8
а письма ответы которые с пометкой RE: тоже в CP1251 но кирилица нормальная при переводе в KOI8-R, это какая то особенность почты или компонент не понятно почему так делает?
Ответить с цитированием
  #2  
Старый 07.06.2012, 19:26
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Скорее всего - почты. Компонент наврядли делает какую-то перекодировку. Это у адресата клиент криво настроен.
Ответить с цитированием
  #3  
Старый 07.06.2012, 19:50
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 297
Репутация: -1806
По умолчанию

Цитата:
Сообщение от ALexandr555
приходят в CP1251 и кирилица нормальная в UTF8
тоже в CP1251 но кирилица нормальная при переводе в KOI8-R
чезабред? если они приходят в CP1251 то при чем тут UTF8 и KOI8-R,а если нет то причем тут CP1251?
Ответить с цитированием
  #4  
Старый 07.06.2012, 19:59
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

robt, они приходят крякозябрами, для нормального отображение кирилицы их необходимо перекодировать

lmikle а адресаты разные
Ответить с цитированием
  #5  
Старый 07.06.2012, 20:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, ты думаешь, у ни у всех не может быть настроен клиент криво? Кстати, в OE Express настройки по умолчанию как раз довольно долго кривые были. Вроде, потом, в LiveMail это дело поправили. Хотя тут еще сервера, в т.ч. и промежуточные, могут тоже косячить.
Ответить с цитированием
  #6  
Старый 07.06.2012, 20:38
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

ну проблема все равно остается, можно попробовать перекодировывать все с Re: но сдается мне что они могут быть и нормальные, нельзя ли как то определять кодировку?
Ответить с цитированием
  #7  
Старый 07.06.2012, 21:49
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 297
Репутация: -1806
По умолчанию

смени компонент
Ответить с цитированием
  #8  
Старый 07.06.2012, 22:58
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

был бы похожий сделал бы так, в обычном POP3 даже нельзя узнать число сообщений на сервере
Ответить с цитированием
  #9  
Старый 07.06.2012, 23:02
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Вообще, если внимательно почитать, что же находится внутри письма, то можно увидеть, что у заголовка может быть своя кодировка, а у теля письма - своя. Вообще, я бы сначала просто получал бы письмо без автоматической раскодировки и смотрел бы что чем закодированно.
Ответить с цитированием
  #10  
Старый 07.06.2012, 23:03
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от ALexandr555
был бы похожий сделал бы так, в обычном POP3 даже нельзя узнать число сообщений на сервере

Индийский (Indy) точно дает эту информацию. Там надо просто метод вызвать, который тебе это число и вернет. Более того, там еще можно и размер ящика (сумма размеров писем) получить без получения самих писем.
Ответить с цитированием
  #11  
Старый 07.06.2012, 23:25
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

lmiklе ну я так и получаю а как у знать какая кодировка вот
Ответить с цитированием
  #12  
Старый 08.06.2012, 00:18
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Скачать письмо. Получишь набор строк в определенной структуре. Если кодирповка темы письма не совпадает с кодировкой тела (указывается в заголовке как encoding), то обычно прямо в тексте ставится тег кодировки, например что-то типа =?uft8?Q?тут идет сама строка в utf8?=
тотчно не помню, надо RFC смотреть (ну или искать код, который это разбирает).

Просто скачай письма без автоматической раскодировки, сохрани их как файлы и в любом текстовом редакторе посмотри содержимое. Там идет сначала заголовок, который, кстати, каждый сервер может дополнять (только дополнять, если правильно помню), потом идет тело письма, которое еще может состоять из нескольких частей, особенно, если есть прикрепленные файлы. У каждой части может быть свое кодирование - не только кодировка (win1251, etc), но и еще и преобразование (Base64, QuotedPrintable, UUE, etc).

Последний раз редактировалось lmikle, 08.06.2012 в 00:22.
Ответить с цитированием
  #13  
Старый 08.06.2012, 18:38
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

а свойства

CharSet
ContentTransferEncoding

не могут помочь?
add
сохранил письмо посмотрел, в CharSet нужная кодировка, компонент с indy показывает свойством CharSet то что нужно, предыдущий же показывал на всех только ISO 8859-1, видимо по тому что он 2000 года, indy стоит 9

Последний раз редактировалось ALexandr555, 08.06.2012 в 18:49.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:19.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025