| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > EMail, tidPop3 Проблема с кодировкой |
| Автор: murod 8.2.2006, 18:16 | ||
| наверно у меня проблема с кодировкой. Я открываю Еmail и оттуда следующим образом качаю прикрепленные файлы.
Файлы с расширением *.тхт. всё качается нормално, но тока текст: "Печать по две шт" Преврашается в абра-кадабру:"Печать РїРѕ РґРІРµ С?С‚ " и с именем файла тоже точно так. Кто знает подскажите пожалуйста в чем проблема? Буду очень рад. |
| Автор: Snowy 8.2.2006, 19:14 | ||||
| Это не абракадабра, а юникод. Запихивай его в переменную типа WideChar, тогда сможешь спокойно работать. Добавлено @ 19:17 И еще совет: не
|
| Автор: murod 8.2.2006, 19:20 |
| Спасибо. Пожалуйста если не трудно скинте пару строчек примера. с шрифтами, кодировками у меня очень плохо. Добавлено @ 19:24 и еще как быть с именем файла? и тут тоже точно такие проблемы! filename в widestring надо конвертить? |
| Автор: Snowy 8.2.2006, 19:27 | ||
Вот пример перекодирования файла из Unicode в Ansi:
|
| Автор: murod 8.2.2006, 19:31 |
| спасибо, шас попробую |
| Автор: Snowy 8.2.2006, 19:33 | ||
А вот тебе функция для перекодирования строки из юникода в анси, для случая, когда юникод текст у тебя в стринге:
|
| Автор: murod 8.2.2006, 19:35 |
| а просто саму кодировку чтения с email а поменять нельзя? |
| Автор: Snowy 8.2.2006, 19:38 |
| Нет. Кодировку определяешь не ты, а человек, отправивший письмо. В какой кодировке он написал, в такой ты и принимаешь. |
| Автор: murod 8.2.2006, 19:42 |
| мне шас надо сперва скачать файл а потом его конвертнуть ? И на какую кодировку надо мне конвертнуть? Первоначальная кодировка у меня какая? |
| Автор: Snowy 8.2.2006, 19:45 |
| Естественно. Пока ты его не скачаешь, ничего с ним делать не сможешь. В обычную Ansi. Смотри первый код. Как раз для тебя и написал. Unicode UTF-16. Он же WideString. Он же просто юникод. |
| Автор: murod 8.2.2006, 19:51 |
| Понятно, а первоначальная кодировка будет менятся в зависимости кто его отправил значить мне надо с перва узнать кодировку письма, и потом соответственно надо его конвертнуть на Ansi я прав? |
| Автор: Snowy 8.2.2006, 20:51 | ||
| Именно. Но это далеко не так просто. Например у Outlook это не получается, а TheBat справляется весьма неплохо. Так что это довольно сложный вопрос. Но с юникодом проще. Существует функция, которая тебе поможет.
|