Я использую пакет достаточное количество_почты для извлечения данных по IMAP.
После извлечения данных, например, заголовков, с помощью следующего кода извлеченные данные из-за символов Turki sh выглядят странно.
var client = enoughMail.ImapClient(isLogEnabled: true);
await client.connectToServer('mail.imap.com', 993, isSecure: true);
var loginResponse = await client.login('mail-address@test-mail.com', 'passwordHere');
var client = enoughMail.ImapClient(isLogEnabled: true);
if (loginResponse.isOkStatus) {
var listResponse = await client.listMailboxes();
if (listResponse.isOkStatus) {
// print('mailboxes: ${listResponse.result}');
// Select MailBox
await client.selectMailbox( listResponse.result[0]);
// mail count
print(listResponse.result[0].messagesExists);
var testVar3 = await client.fetchMessages(1, 7, "BODY.PEEK[HEADER.FIELDS (SUBJECT)]");
print(testVar3.result[0]);
Я пытаюсь найти способ конвертировать их в кодировку UTF-8, но не смог.
Возможные варианты, которые, я думаю, находятся внутри
- достаточное_почта пакет EncodingsHelper Class или
- dart: convert или оба вместе ...
Кроме того, если я использую другой пакет Flutter, который называется imap_client, я получу строку ниже:
Строка, которую я получаю с сервера: =? Utf-8? B? TWljcm9zb2Z0IE91dGxvb2sgU8SxbmFtYSDEsGxldGlzaQ ==? =
На самом деле, я должен был получить S Microsoft İletisi
Мне нужен конвертер символов Base64 в Utf-8, а также =? Utf-8? B? Строка создает еще одну проблему для обработки этого действия.
Заранее спасибо.
Примечание: Пожалуйста, не говорите, чтобы изменить код на стороне сервера, потому что это не так, как мне нужно ...