народ, подскажите в чём проблема с AkelPad, не понимаю: кто пользуется программой Total Commander тот знает, что в ней есть сочетание клавиш Shift+F4 - оно означает создать файл в текущей директории.
Я этой фишкой постоянно пользуюсь, потому что очень удобно - нужно в какой-то директории написать короткий текстовой файл - тыкаешь на Shift+F4 и вписываешь имя файла. Далее выскакивает блокнот, пишешь в нём текст, сохраняешь и вуаля.
Тексты я пишу в unicode или utf-8, потому что так надо
AkelPad стоит вместо блокнота (в родном блокноте такой баги нету).
Бага выглядит так (кодировка сохранения выставлена на UTF-8):
Вариант первый: вызываем AkelPad кликая на AkelPad.exe, пишем русскими буквами слово "акел" без кавычек, сохраняем файл. Получаем файл длиной 11 байт. Это нормальный UTF-8 файл - его понимают все другие программы. Родной виндозный блокнот создал бы точно такой же.
Вариант второй: в Total Commander жмём Shift+F4, вводим имя файла, выскакивает наш Akel, пишем в нём ТОТ ЖЕ текст, сохраняем. Получаем файл длиной 8 байт!!! Почти все программы кроме AkelPad этот файл НЕ распознают как уникодовый (UTF).
Если сравнить оба файла, то видно, что в первом случае дополнительные 3 байта - это идентификатор в начале файла, вероятно обозначающий кодировку. Этот идентификатор и позволяет другим программам правильно распознавать этот текст.
Почему же когда akelpad вызван из TotalCommander по Shift+F4, он не добавляет этот идентификатор? Для большинства программ такой файл выглядит "неправильным"
Если смотреть на файл в бинарном режиме, упомянутый идентификатор выглядит так: п»ї (извиняюсь если через форум спецсимволы не пройдут - выглядит как русская маленькая буква "п" потом русская правая кавычка, потом английская i только с двумя точками наверху)