Долгое время PIM-менеджер MyTetra умел работать только с директориями, в пути к которым используются только латинские символы. Это обычная проблема для кроссплатформенных программ. Ноги у нее растут из того, что корпорация Microsoft в момент создания Windows-95 посчитала, что системная кодировка (которая используется, в частности, при работе с файлами и каталогами) может отличаться от кодировки консоли. И аукается это даже в Windows 10. Для русскоязычной версии Windows системная кодировка установлена как CP1251, а кодировка консоли CP866. Молодцы, что еще сказать.
Наконец, у меня дошли руки поразбираться с этим вопросом. В результате чего было написано две статьи:
Как в Qt узнать системную кодировку локали под Windows
Как в Qt работать с русскими именами файлов и директорий под Windows
А так же в ветке experimental PIM-Менеджера MyTetra появилось обновление кода, благодаря которому теперь MyTetra может:
- Запускаться из каталога, в пути которого есть национальные символы;
- Работать с каталогами данных, в пути которого встречаются национальные символы. Это особенно актуально для Windows-пользователей, которые используют русские буквы в своем логине, и устанавливают MyTetra в стандартном режиме (в этом режиме данные размещаются в каталоге пользователя, который и имеет русскоязычные символы в своем названии);
- Правильно отображать национальные символы в консольном логе, если включена опция логирования отладочных сообщений.
Работа проверена на русскоязычной Windows 7 с кодировками CP1251 (системная) + CP866 (консоль) и на Linux с кодировкой локали UTF-8.
Эта доработка будет включена в следующий крупный релиз.