Добрый день!
У меня есть почтовый сервер MDaemon. Все, кто с ним знаком, прекрасно знают, что в папке почтового ящика есть ряд папок - Входящие, Исходящие, Удалённые и т.д.. Но Эти названия этих папок выглядят так -
&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-.IMAP. Соответственно понять через проводник Windows то, с какой папкой ты имеешь дело очень трудно. Но даже не в этом дело. Мне понадобилось перенести всю почту с виндового сервера в Linux и адаптировать это всё под Postfix+Dovecot+Roundcube+Postfixadmin+MySQL. Эту всю связку я настроил, но linux точно так же видит эти папки с нечитаемыми именами.
Для начала я не могу определить кодировку, в которой названы папки, второе - мне надо как-то их перекодировать в UTF8.
Смотрите, я нашёл ответ!
1. Берём из нашего примера строку "
&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-", убираем в начале символ "
&", а в конце "
-" заменяем на два равно - "
==".
2. Полученную строку декодируем с помощью base64.
3. Результат перекодируем из UTF-16BE в UTF-8
Полная хрень!