Bugs / Найденные баги (1)
- Author
- Message
-
Offline
- Posts: 9
- Joined: Tue Oct 20, 2015 1:43 pm
- Contact:
Не срабатывает автоопределение кодировки (CMD-файл). Файл в кодировке OEM866, а открывает его программа в кодировке по умолчанию UTF8.
Читал FAQ, но все бесполезно.
Согласно FAQ пробовал следующее:
1. Снял запоминание.
2. Кириллицы в скрипте ровно 16 символов.
3. Буфер увеличил.
Попытка "Определить заново" ни к чему не приводит. Кодировка не меняется.
Только методы переключения/открытия вручную работают.
Файл открывается в той кодировке, которая указана в качестве кодировки по умолчанию.
Версия программы 4.9.6 х86.
Читал FAQ, но все бесполезно.
Согласно FAQ пробовал следующее:
1. Снял запоминание.
2. Кириллицы в скрипте ровно 16 символов.
3. Буфер увеличил.
Попытка "Определить заново" ни к чему не приводит. Кодировка не меняется.
Только методы переключения/открытия вручную работают.
Файл открывается в той кодировке, которая указана в качестве кодировки по умолчанию.
Версия программы 4.9.6 х86.
-
Offline
- Posts: 1162
- Joined: Sun Oct 20, 2013 11:44 am
m0nkrus
По идее можно набросать скрипт, который будет открывать *.bat/*.cmd в OEM866 на русскоязычной ОС, и добавить его в CmdLineBegin (что-то подобное обсуждалось в теме сабжа на Ру-борде, но тот всё ещё лежит).
Instructor, а какие функции определяют кодировку? Стало любопытно взглянуть
По идее можно набросать скрипт, который будет открывать *.bat/*.cmd в OEM866 на русскоязычной ОС, и добавить его в CmdLineBegin (что-то подобное обсуждалось в теме сабжа на Ру-борде, но тот всё ещё лежит).
Instructor, а какие функции определяют кодировку? Стало любопытно взглянуть
-
Offline
- Site Admin
- Posts: 6411
- Joined: Thu Jul 06, 2006 7:20 am
AutoScript-DetectEx.jsSkif_off wrote:По идее можно набросать скрипт...
Определение не юникодовых кодировок - функция AutodetectMultibyte в Edit.c.Skif_off wrote:... какие функции определяют кодировку?
-
Offline
- Posts: 9
- Joined: Tue Oct 20, 2015 1:43 pm
- Contact:
Instructor
Символы, составляющие слово "Системны" подходят? Это слово повторяется в тексте дважды. Возможно в FAQ не слишком корректно написано. Там сказано, что символов должно быть больше 11. Но не было уточнения, что при этом все 11 символов должны быть разными. Так как?
Skif_off
Да мне не настолько принципиально. Я могу и Alt+D нажать, не развалюсь. Просто, раз функция заявлена, то, по логике, должна работать. Потому здесь и отписался.
Символы, составляющие слово "Системны" подходят? Это слово повторяется в тексте дважды. Возможно в FAQ не слишком корректно написано. Там сказано, что символов должно быть больше 11. Но не было уточнения, что при этом все 11 символов должны быть разными. Так как?
Skif_off
Да мне не настолько принципиально. Я могу и Alt+D нажать, не развалюсь. Просто, раз функция заявлена, то, по логике, должна работать. Потому здесь и отписался.
Last edited by m0nkrus on Tue Oct 20, 2015 8:55 pm, edited 2 times in total.
-
Offline
- Site Admin
- Posts: 6411
- Joined: Thu Jul 06, 2006 7:20 am
Они не должны быть разными, они должны быть из группы для распознавания - что и указано в FAQ. Если вас интересует какие именно это символы, можете глянуть функцию AutodetectMultibyte в исходном файле Edit.c.m0nkrus wrote:Там сказано, что символов должно быть больше 11. Но не было уточнения, что при этом все 11 символов должны быть разными.
-
Offline
- Posts: 9
- Joined: Tue Oct 20, 2015 1:43 pm
- Contact:
-
Offline
- Posts: 1162
- Joined: Sun Oct 20, 2013 11:44 am
Неверно заданы параметры скрипта, по идее:m0nkrus wrote:В ответ Too few parameters.
Code: Select all
CmdLineBegin=/Call("Scripts::Main", 2, "AutoScript-DetectEx.js", `-DetectArray='[["cmd,bat","","","866",-1,0x0419]]'`)Спасибо, не подумал поискать в скриптах, помню, что разговор был на Ру-борде
Добавлено:
А чем продиктован выбор символов?
Вряд ли имеет значение, но заметил, что в Edit.c в комментарии
Code: Select all
//оеаикмнтОEАИКМНТДобавлено:
Вопрос про выбор снимается как детский: частотность букв давно посчитана.
-
Offline
- Posts: 9
- Joined: Tue Oct 20, 2015 1:43 pm
- Contact:
Skif_off
Как-то не догадался, что нужно эту строку в ini вручную прописать. Не обратил внимание, что в коде закоментировано указание добавить ее вручную. Пытался скрипт через интерфейс программы подключить. Теперь сделал и, слава богам(!), CMD открывается в кодировке OEM866. Skif_off, Instructor - спасибо!
Если это определяющие символы, тогда да, мой CMD-скрипт не дотягивает до критических 11 символов. У меня их получается 10.
Code: Select all
CmdLineBegin=/Call("Scripts::Main", 2, "AutoScript-DetectEx.js", `-DetectArray='[["cmd,bat","","","866",-1,0x0419]]'`)Code: Select all
//оеаикмнтОEАИКМНТ-
Offline
- Posts: 9
- Joined: Tue Oct 20, 2015 1:43 pm
- Contact:
-
Offline
- Posts: 9
- Joined: Tue Oct 20, 2015 1:43 pm
- Contact:
-
Offline
- Site Admin
- Posts: 6411
- Joined: Thu Jul 06, 2006 7:20 am
m0nkrus
А, читать описание кто будет?
Я ведь ошибся: -2 вместо 0x0419, т.е.
А, читать описание кто будет?
Code: Select all
/Call("Scripts::Main", 2, "AutoScript-DetectEx.js", `-DetectArray='[["cmd,bat","","","866",-1,-2]]'`)