что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Ultrabyte
Posts: 201
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 18 times
Been thanked: 18 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by Ultrabyte »

Иначе китайская кодировка: "950 │ ANSI/OEM - китайская традиционная Big5" разные файлы LUA, где записаны русские комментарии (ansi-1251). Для UTF8 - есть BOM. Что нужно для 1251 ?
p.s.far 6564, Viewer, Editor
Last edited by Ultrabyte on Fri 03 Oct, 2025 23:42, edited 2 times in total.
Yegor
Posts: 1504
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 52 times
Been thanked: 94 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by Yegor »

Нет никакого BOM для ANSI. Попробуйте поставить ANSI 1051 кодировкой по умолчанию в настройках
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
Ultrabyte
Posts: 201
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 18 times
Been thanked: 18 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by Ultrabyte »

чатгпт, ответил что нет BOMа для ANSI. Поэтому предложил в самом начале, указывать явном виде:
// <!-- encoding=windows-1251 -->
// CODEPAGE: WIN-1251 (ANSI-1251)
// Encoding: Windows-1251

Это помогут некоторые автоматические программы правильно распознать.
2useven10
Posts: 5486
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by 2useven10 »

Фар и так неплохо справляется.
Недавно был баг с автодетектом, но вроде бы он исправлен.
К тому же есть настройки, посмотрите NoAutoDetectCP и F8CPs в far:config, ну и умолчательные CP в редакторе/просмотре.
Shmuel
Posts: 7231
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 632 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by Shmuel »

2useven10 wrote: Sat 04 Oct, 2025 09:42 Фар и так неплохо справляется.
Увы, нет. Вот что выдаётся при попытке открыть большой файл, в котором с самого начала куча текста в 1251.
image.png
Last edited by Shmuel on Sat 04 Oct, 2025 09:56, edited 1 time in total.
Ultrabyte
Posts: 201
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 18 times
Been thanked: 18 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by Ultrabyte »

Да, именно. Методом перебора понял, FAR странно триггерит букву "Д":
"Для работы" -> Китайский
"для работы" -> Русский

Far 6446 - нормально опознавал (точно не знаю когда поломали)

Last edited by Ultrabyte on Sat 04 Oct, 2025 11:51, edited 8 times in total.
2useven10
Posts: 5486
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by 2useven10 »

Shmuel wrote: Sat 04 Oct, 2025 09:55Увы, нет.
Это скорее на второе предложение.
Значит справлялся лучше чем справляется.
IMultiLanguage2 неважная замена UCD, или мы просто не умеем его готовить?
2useven10
Posts: 5486
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by 2useven10 »

И настройки же остались, что мешает запретить CP 950 в детекте?
2useven10
Posts: 5486
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by 2useven10 »

IMultilanguage берётся у windows, т.е. получается результат детекта зависит от установленной системы.
И соответственно на XP, Win10, Win11 он может быть разным...
Кроме того настройки системы также могут влиять на результат.
Last edited by 2useven10 on Sat 04 Oct, 2025 14:36, edited 1 time in total.
2useven10
Posts: 5486
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by 2useven10 »

2useven10 wrote: Sat 04 Oct, 2025 13:19 IMultiLanguage2 неважная замена UCD
Я склонен думать что это приблизительно те же яйца, вид сбоку.
Идеального детекта не существует, ложные определения ожидаемы и там и там.
UCD тоже не панацея, настройки с коррекцией определяемой кодовой страницы появились при нём, только паразитные страницы могли быть другими. Так что если явных косяков в применении нет (вроде детекта 1201 на чистом ASCII) особой разницы быть не должно.
Ultrabyte
Posts: 201
Joined: Sun 26 Mar, 2023 17:59
Has thanked: 18 times
Been thanked: 18 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by Ultrabyte »

Если брать три куска текста (допустим 1,2,3 строка/страница) и вероятность совпадения больше 50%, то применить эту кодовую страницу.
а отрицательный результат... пока сходу не придумал, может довериться UCD или на выбор юзеру.

Я уберу слово "Для". Вопрос, возможно, исчерпан... однако, предчувствую, что надо заранее вписать в первую строку фразу "CodePage: Ansi-1250". NotaPad++ наверное тоже глючит по такому-же принципу (у меня нет, и не проверял)

Получается все старые версии ViewColor, которые в закрепе, они все теперь на китайском...
Last edited by Ultrabyte on Sat 04 Oct, 2025 15:36, edited 5 times in total.
2useven10
Posts: 5486
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by 2useven10 »

Попробую пальцем показать...
far:config CodePages.NoAutoDetectCP="950" должно убрать CP 950 из автодетекта.
Можно задать список кодовых страниц -- все перечисленные запрещаются.
Можно задать "-1" -- не включает ничего из Прочих/Othrers, только системные, юникодные и отмеченные.
Last edited by 2useven10 on Sat 04 Oct, 2025 19:55, edited 1 time in total.
Shmuel
Posts: 7231
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 632 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by Shmuel »

2useven10, да знаю я это, даже советовал уже кому-то (то ли здесь, то ли в телеграме).
А теперь представь себе, что я русскоговорящий китаец, этот рецепт уже не подойдёт.
2useven10
Posts: 5486
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by 2useven10 »

Shmuel, Совет для Ultrabyte, не думаю что это тот случай.
Возможно IMultiLanguage2 писали китайцы (не русскоговорящие), поэтому все неопределённости в пользу 950, можно понять - целевая аудитория больше.

Хотя если
Ultrabyte wrote: Sat 04 Oct, 2025 11:11 Far 6446 - нормально опознавал
то проблема появилась уже после перехода на IMultiLanguage2 (build 6034).
Last edited by 2useven10 on Sat 04 Oct, 2025 20:11, edited 1 time in total.
2useven10
Posts: 5486
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 21 times
Been thanked: 353 times

что вписать в файл, чтобы FAR понимал, что это CodePage 1251 ?

Post by 2useven10 »

Ultrabyte wrote: Sat 04 Oct, 2025 11:11 FAR странно триггерит букву "Д"
тут как раз всё понятно 1251 "Д" = 0x84 - валидный leading byte в Big5, а "д" = 0xA4 нет.
Это я 1251 и 866 перепутал.
Last edited by 2useven10 on Sat 04 Oct, 2025 21:39, edited 2 times in total.
Post Reply

Return to “Нужна помощь”