Редактор FAR2: Проблемы с переключением кодовых страниц
- John Doe
- Бюрократ
- Posts: 13067
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 42 times
- Been thanked: 319 times
Редактор FAR2: Проблемы с переключением кодовых страниц
Нужна возможность автоматического определения кодировки файла по запросу.
Если при редактировании какого-либо файла случайно поменять кодовую страницу - она запомниться, и при повторном открытии того же файла будет выставляться запомненная (неправильная) кодировка.
Не существует возможности определить кодировку заново, и чтобы вернуть правильную есть только один путь - ручной перебор.
Однако и с ручным перебором не всё так просто:
1) из меню кодировок (Shift-F8) невозможно изменить кодовую страницу с однобайтной кодировки в многобайтную (юникод) или обратно.
2) из однобайтной можно переключиться в UTF-8, однако если текст на самом деле не в UTF-8 - он необратимо испортится.
Хотелось бы иметь возможность вручную вызвать авто(пере)определение кодировки
а) из меню кодировок Shift-F8
Там есть пункт с названием Automatic detection, но он недоступен.
б) из диалога открытия файла Shift-F4
Там уже есть такой пункт, однако его название не соответствует значению: чаще всего никакого автоопределения не происходит.
(Скорее ему следует называться Default/Saved, потому что автоматическое определение происходит только если оно включено в опциях, и только при первом открытии файла)
Update:
Сделано: http://bugs.farmanager.com/view.php?id=1773
Если при редактировании какого-либо файла случайно поменять кодовую страницу - она запомниться, и при повторном открытии того же файла будет выставляться запомненная (неправильная) кодировка.
Не существует возможности определить кодировку заново, и чтобы вернуть правильную есть только один путь - ручной перебор.
Однако и с ручным перебором не всё так просто:
1) из меню кодировок (Shift-F8) невозможно изменить кодовую страницу с однобайтной кодировки в многобайтную (юникод) или обратно.
2) из однобайтной можно переключиться в UTF-8, однако если текст на самом деле не в UTF-8 - он необратимо испортится.
Хотелось бы иметь возможность вручную вызвать авто(пере)определение кодировки
а) из меню кодировок Shift-F8
Там есть пункт с названием Automatic detection, но он недоступен.
б) из диалога открытия файла Shift-F4
Там уже есть такой пункт, однако его название не соответствует значению: чаще всего никакого автоопределения не происходит.
(Скорее ему следует называться Default/Saved, потому что автоматическое определение происходит только если оно включено в опциях, и только при первом открытии файла)
Update:
Сделано: http://bugs.farmanager.com/view.php?id=1773
- DrKnS
- Posts: 5808
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 10 times
- Been thanked: 343 times
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
см. changelog, build 1020, пункт 1, строка 2.Там есть пункт с названием Automatic detection, но он недоступен.
З.Ы. Всё предлагаемое - логично и правильно, обязательно так и будет, но когда - хз...
- John Doe
- Бюрократ
- Posts: 13067
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 42 times
- Been thanked: 319 times
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
Я так понимаю чтобы это работало из меню кодировок - надо много чего ещё менять в самом редакторе.
Но чтобы сделать это в диалоге открытия файла - изменения логики требуются минимальные.
Так?
Но чтобы сделать это в диалоге открытия файла - изменения логики требуются минимальные.
Так?
https://t.me/FarManager — Telegram чат
- DrKnS
- Posts: 5808
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 10 times
- Been thanked: 343 times
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
Для ShiftF4, думаю, можно сделать 2 спецпункта - "автоопределение" (анализ сигнатур + эвристика) и "предыдущая/по умолчанию" (из истории/настроек).
?
?
- John Doe
- Бюрократ
- Posts: 13067
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 42 times
- Been thanked: 319 times
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
Так точно.
Т.е. то что сейчас называется Autodetect переименовать в default (default/auto/last), а новый пункт назвать Autodetect
Ну и первым в списке - default
Т.е. то что сейчас называется Autodetect переименовать в default (default/auto/last), а новый пункт назвать Autodetect
Ну и первым в списке - default
https://t.me/FarManager — Telegram чат
-
- Posts: 6217
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 31 times
- Been thanked: 348 times
Re: Несколько вопросов по редактору
Это поведение мне тоже кажется скорее багом, чем фичей.darkmist wrote:создаем файл "1" в кодировке UTF-16LE. сохраняем его с включенным BOM. Shift+F4, Code page - OEM (866), Esc, снова Shift+F4. Code page стоит "Automatic detection", однако, несмотря на BOM, мы открываем в последней открытой OEM, а не UTF-16LE.
На самом деле оно вызвано тем, что в опциях редактора (на момент нажатия Esc) стояло "Save file position", а для правильного восстановления позиции нужно восстанавливать и кодировку. И вот эта завязка приводит к весьма неинтуитивному поведению в случаях, если пользователь выходит из редактора в момент, когда кодировка в редакторе стоит неправильная.
Другими словами, автоопределение кодовой страницы в этих случаях не производится, несмотря на выставленную опцию. Производится считывание кодовой страницы из реестра. И всё это - как бы "за кадром".
- John Doe
- Бюрократ
- Posts: 13067
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 42 times
- Been thanked: 319 times
Re: Несколько вопросов по редактору
Так это самая настоящая фича: запоминание кодировки. Полезная.Shmuel wrote:На самом деле оно вызвано тем, что в опциях редактора (на момент нажатия Esc) стояло "Save file position", а для правильного восстановления позиции нужно восстанавливать и кодировку.
Другое дело что в диалоге надо разделить 2 самостоятельные фичи: запоминание и автоопределение.
P.S.
А баги тоже есть, например см. 0001183: При Reload запоминание кодовой страницы должно происходить раньше считывания.
-
- Posts: 6217
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 31 times
- Been thanked: 348 times
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
Не могу считать полезной недокументированную фичу, которая запоминает неправильную кодировку и затем её принудительно восстанавливает, игнорируя как установку автоопределения кодировки, так и BOM в файле.John Doe wrote:Так это самая настоящая фича: запоминание кодировки. Полезная.
Доугое дело что надо в диалоге разделить 2 самомтоятельные фичи: запоминание и автоопределение.
- John Doe
- Бюрократ
- Posts: 13067
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 42 times
- Been thanked: 319 times
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
Какую такую неправильную кодировку?
"Правильность" кодировки в конечном счёте определяет пользователь, фар может только подсказать (autodetect).
И если после подсказки пользователь тем не менее принудительно открывает файл в другой кодировке, то зачем фар должен ему мешать?
"Правильность" кодировки в конечном счёте определяет пользователь, фар может только подсказать (autodetect).
И если после подсказки пользователь тем не менее принудительно открывает файл в другой кодировке, то зачем фар должен ему мешать?
-
- Posts: 6217
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 31 times
- Been thanked: 348 times
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
Речь идёт не о данном открытии файла, а о последующих. И вот тут-то пользователь пролетает, у него даже нет возможности эту - скрытую - фичу отключить.John Doe wrote:И если после подсказки пользователь тем не менее принудительно открывает файл в другой кодировке, то зачем фар должен ему мешать?
- John Doe
- Бюрократ
- Posts: 13067
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 42 times
- Been thanked: 319 times
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
Фича вполне интуитивная, покрывает 99% реальных сценариев использования, врядли кому может понадобиться её отключать.
А вот возможность принудительного определения кодировки конечно нужна, об чём и тема.
А вот возможность принудительного определения кодировки конечно нужна, об чём и тема.
-
- Posts: 6217
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 31 times
- Been thanked: 348 times
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
Давайте согласимся не соглашаться. Ибо мы с вами очевидно либо пользуемся разными Фарами, либо имеем уж очень разные пользовательские предпочтения.
Re: Редактор FAR2: Проблемы с переключением кодовых страниц
BOM должен иметь приоритет выше чем выбранная и запомненная ФАРом кодировка