Собираем
информацию
по крупицам
Новости


Новости

MyTetra научилась работать с национальными кодировками в путях к файлам
24-09-2018
00:17:57

Долгое время 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.

 

Эта доработка будет включена в следующий крупный релиз.

 



Поделиться этой страницей


Статистика


RSS подписка

Подпишитесь на новости сайта по RSS


 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик