Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42
#1

Кодировка заголовков E-mail писем - Программирование Android

13.09.2013, 12:04. Просмотров 1534. Ответов 11
Метки нет (Все метки)

Здравствуйте.
Читаю заголовки (тему) email письма через TextView и получаю такой эффект:

Какой-нибудь русский текст=?UTF-8?В?KLfkdbDLelnbezfDE

Как бы эту вторую часть заголовка превратить в читаемый формат?

Заголовок получаю так:
Java
1
messages[pos].getSubject().toString()
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2013, 12:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Кодировка заголовков E-mail писем (Программирование Android):

Как локализовать массив заголовков? - Программирование Android
Есть массив заголовков на русском языке созданный программно в java. Нужно его перевести на английский язык. Через Stringовые ресурсы не...

Кодировка заголовков в mail() - PHP
<?php function NewMail($from,$to,$subject,$message) { $headers = "From: {$from}"; $headers = "Subject: {$subject}"; $headers =...

Кодировка писем mail.ru - Windows
Добрый день всем.Мне нужна Ваша помощь ( я сама не программист).суть вопроса и помощи в след.У меня почта mail.ru агент-с недавних пор...

Кодировка при отправке писем с использованием функции mail() - PHP
Уважаемые форумчане, подскажите что мне сделать с этой непутевой функцией. $headers = 'Content-type: text/html; charset=utf-8' ....

Кодировка заголовков ответа сервера (301) - Apache
Здравствуйте! Использую CentOS 6.5 с Apache. Проблема в следующем: кодировка всех страниц сайта в UTF-8, однако кодировка заголовков,...

Кодировка писем - Python
Возникла необходимость получить содержимое моих e-mail. Все они в разных кодировках, кто в Windows-1251, кто в UTF-8. Как я понимаю,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
13.09.2013, 12:31 #2
String encodedUTF8Str = URLEncoder.encode(text, "UTF-8");
String decodedUTF8Str = URLDecoder.decode(text, "UTF-8");
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42
13.09.2013, 13:50  [ТС] #3
Цитата Сообщение от haribo Посмотреть сообщение
String encodedUTF8Str = URLEncoder.encode(text, "UTF-8");
String decodedUTF8Str = URLDecoder.decode(text, "UTF-8");
Применил первую команду, стало еще хуже. Теперь весь текст в виде %1А%2В...
Если снова раскодировать второй командой, то получается то, что и было.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
13.09.2013, 13:57 #4
То что ты привел в первом посте это что если в читабельном виде?
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42
13.09.2013, 14:00  [ТС] #5
Цитата Сообщение от haribo Посмотреть сообщение
То что ты привел в первом посте это что если в читабельном виде?
Это тема email сообщения на русском языке. Текст там обрывается на середине, т.е. первая часть читабельна, а вторая нет.

Заголовок сообщ=?UTF-8?B?SkfdpekDFEHKSfheklfh
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
13.09.2013, 14:11 #6
а, то есть полный текст это:
"Заголовок сообщения"
а ты получаешь
"Заголовок сообщ=?UTF-8?B?SkfdpekDFEHKSfheklfh"
Так?
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42
13.09.2013, 14:14  [ТС] #7
Цитата Сообщение от haribo Посмотреть сообщение
а, то есть полный текст это:
"Заголовок сообщения"
а ты получаешь
"Заголовок сообщ=?UTF-8?B?SkfdpekDFEHKSfheklfh"
Так?
Да. Вторая часть сообщения почему-то закодирована.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
13.09.2013, 14:18 #8
а, а в textview оно нормально отображается?

И зачем ты делаешь toString()?
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42
13.09.2013, 14:33  [ТС] #9
Цитата Сообщение от haribo Посмотреть сообщение
а, а в textview оно нормально отображается?

И зачем ты делаешь toString()?
Именно в TextView они так и отображаются. В логи выводится тоже самое.
toString() это привычка скорее. Убрал - ничего не поменялось.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
13.09.2013, 14:46 #10
Ох... я ничего не понимаю.
В топике сказано: "Читаю заголовки (тему) email письма через TextView и получаю такой эффект:"

Что я интерпретировал как "читаю value из textview, которое (value) является темой письма".

Поэтому давай еще раз, забудь про textview и прочее UI элементы.

Откуда ты берешь значение (тема письма)?
Как оно туда попадает?
Расскажи процесс.
Grafity
59 / 4 / 1
Регистрация: 31.07.2013
Сообщений: 42
13.09.2013, 15:10  [ТС] #11
Цитата Сообщение от haribo Посмотреть сообщение
Ох... я ничего не понимаю.
В топике сказано: "Читаю заголовки (тему) email письма через TextView и получаю такой эффект:"

Что я интерпретировал как "читаю value из textview, которое (value) является темой письма".

Поэтому давай еще раз, забудь про textview и прочее UI элементы.

Откуда ты берешь значение (тема письма)?
Как оно туда попадает?
Расскажи процесс.
Загружаются email письма с помощью вот такого вот модуля:
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public Message[] LoadMessages(int start, int stop) throws Exception {
      
        Log.d(TAG, "Start downloading...");
 
        Properties props = new Properties();
    
        String provider = "pop3";
 
        Session session = Session.getInstance(props, null);
        store = session.getStore(provider);
        store.connect(host, username, password);
 
        inbox = store.getFolder("INBOX");
        if (inbox == null) {
            Log.e(TAG, "No INBOX");
 
        }
        inbox.open(Folder.READ_ONLY);
 
        Message[] messages = inbox.getMessages(start, stop);
        Log.d("Mail", "You have:" + messages.length + " messages");
 
        for (int i = 0; i < messages.length; i++) {
 
            Log.d(TAG, " Downloading message: " + (i + 1));
            Log.d(TAG, "Sent date: " + messages[i].getSentDate());
            Log.d(TAG, "Subject:" + messages[i].getSubject());
            
        } 
 
        return messages;
  }


т.е в итоге я получаю массив messages[] из элементов типа javax.mail.message. Далее я работаю с этим массивом. Получаю заголовок сообщения и отправляю его из активности со списком сообщений в активность чтения сообщения:
Java
1
intent.putExtra("subject", messages[pos].getSubject());
В активности чтения сообщения:
Java
1
2
3
subject_tv = (TextView) findViewById(R.id.theme_tv);
Subject = getIntent().getStringExtra("subject");
subject_tv.setText(Subject);
Получаю в TextView вот такой эффект, как показал выше.

З.Ы. Заметил, что такой эффект не всегда. Он присутствует в заголовках сообщений, которое мне присылает "Мегаплан" (Система организации рабочих процессов). Просто у меня почти весь ящик только ими и забит. С другого ящика отправил себе письмо с длинным заголовком - все нормально отображается.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
13.09.2013, 15:15 #12
Ну вот и отличненько.

А это все нужные тебе ссылки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2013, 15:15
Привет! Вот еще темы с ответами:

Кодировка писем - Perl
Здравствуйте, рассылая почту модулем Net::SMTP или Сендмейлом письма в разных почтовых клиентах требуется перекодировать. Так, для MS...

Кодировка електронных писем - C#
Доброго времени суток. Делаю программу, где через POP3 принимает електронные сообщение. Прием сообщений работает, но когда открываю...

Кодировка писем со вложением - PHP
Здраствуйте! Ниже представлен код для отправки письма со вложением. Как поменять кодировку для того, что бы вместо кракозяб были руские...

Отправка писем по E-Mail - C# ASP.NET
Получаю такой текст ошибки: Сервер отклонил один или несколько адресов получателей. Отклик сервера: 450 4.7.1 Client host rejected:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.09.2013, 15:15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru