guvijur
@guvijur
Практик, кинестетик, ретроград и консерватор

Как определить кодировку и перекодировать имена папок?

Добрый день!
У меня есть почтовый сервер MDaemon. Все, кто с ним знаком, прекрасно знают, что в папке почтового ящика есть ряд папок - Входящие, Исходящие, Удалённые и т.д.. Но Эти названия этих папок выглядят так - &BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-.IMAP. Соответственно понять через проводник Windows то, с какой папкой ты имеешь дело очень трудно. Но даже не в этом дело. Мне понадобилось перенести всю почту с виндового сервера в Linux и адаптировать это всё под Postfix+Dovecot+Roundcube+Postfixadmin+MySQL. Эту всю связку я настроил, но linux точно так же видит эти папки с нечитаемыми именами.
5ced2ddda0941507278398.jpeg
Для начала я не могу определить кодировку, в которой названы папки, второе - мне надо как-то их перекодировать в UTF8.

Смотрите, я нашёл ответ!
1. Берём из нашего примера строку "&BB4EQgQ,BEAEMAQyBDsENQQ9BD0ESwQ1-", убираем в начале символ "&", а в конце "-" заменяем на два равно - "==".
2. Полученную строку декодируем с помощью base64.
3. Результат перекодируем из UTF-16BE в UTF-8

Полная хрень!
  • Вопрос задан
  • 1954 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Kiber63
Дополнение: примерно так же кодирует Dovecot
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы