Смена кодировки текстового файла: неоднозначности

Хотите говорить о Far и не знаете, куда обратиться?
User avatar
HaRT
Moderator
Posts: 10860
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Смена кодировки текстового файла: неоднозначности

Post by HaRT »

Хорошо бы добавить в FAQ вопрос/ответ про смену кодировки файла.

2012-03-14
Выявились неоднозначности, надо сперва самим договориться, чтобы простых пользователей не смущать.
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Тема отделена, добавлено примечание
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Far 3 FAQ — обсуждение

Post by John Doe »

В том виде - нет.
Дело в том что если под "сменой кодировки" понимать "сменой кодировки файла" это однозначно Shift-F2.
Но если вы например поищете по форуму, то легко убедитесь, что в 90% случаев под "сменой кодировки" имеется ввиду вовсе не изменение самого файла, а всего лишь изменение его "проекции на редактор", т.е. Shift-F8.
И это не заблуждение и не ошибка, а просто двусмысленность понятия "кодировка".
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Far 3 FAQ — обсуждение

Post by 2useven10 »

изменение его "проекции на редактор", т.е. Shift-F8
Ещё одно заблуждение. Изменение "проекции файла на редактор" - это Shift-F4 и задание кодировки.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Far 3 FAQ — обсуждение

Post by John Doe »

Вот не надо только придираться к словам.
Люди на форуме общаются на обычном русском, и под "сменить кодировку" понимают ровно то, что сказано в справке, и никакого заблуждения тут нет:
FarRus.hlf wrote:

Code: Select all

Shift-F8                Выбор кодовой страницы
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Far 3 FAQ — обсуждение

Post by 2useven10 »

А это как раз и есть главный источник большинства недопониманий.
Для просмотрщика Shift-F8 это действительно выбор кодовой страницы, поскольку он всегда работает с исходным файлом. Для редактора это не так. Он пытается 'сменить кодировку' используя загруженный в память и уже перекодированный в UCS-2 текст. А это во многих случаях просто невозможно. Отсюда и большая часть воплей пользователей -- почему фар 'портит текст' или не может выполнить простого переключения кодировки.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Far 3 FAQ — обсуждение

Post by John Doe »

Всё верно, но именно эта проблема к упомянутому выше Shift-F2 не имеет отношения.

Требуется F2 + Shift-F4 + указание правильной кодировки.
Причём это мог бы делать сам фар, а в т о м а т и ч е с к и, и все вопли пропали бы.
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Far 3 FAQ — обсуждение

Post by 2useven10 »

1) Shift-F2 -- смена кодировки файла который корректно отображается в редакторе. Иначе двойное перекодирование и потенциальная потеря данных.

2) F2 - также может привести к безвозвратной порче данных. Так что - просто Shift-F4 и правильная кодировка. 'Сам' может не всегда. Искусственный интеллект с потенциальной потерей данных - не самое лучшее решение.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Far 3 FAQ — обсуждение

Post by John Doe »

1) 100%.
2) Если в редакторе несохранённый текст, то после Shift-F4 неизбежен запрос на сохранение, т.е. никакой разницы с F2 нет.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Far 3 FAQ — обсуждение

Post by Max Rusov »

John Doe wrote:2) Если в редакторе несохранённый текст, то после Shift-F4 неизбежен запрос на сохранение, т.е. никакой разницы с F2 нет.
Ни фига не спрашивает, молча перезагружает
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Смена кодировки текстового файла: неоднозначности

Post by John Doe »

2useven10 wrote:Иначе двойное перекодирование и потенциальная потеря данных.
А вот в корне не согласен, потому что "иначе" - абсолютно другое действие, которое никогда не приведёт к искомому результату (т.е. даже если потеря данных и не произошла).
zg wrote:по shiftf8 меняется входная кодировка, по shiftf2 — выходная.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Far 3 FAQ — обсуждение

Post by John Doe »

Max Rusov wrote:Ни фига не спрашивает, молча перезагружает
Вы правы, т.е. всё ещё хуже! Используя Shift-F4 мы сами того не заметив можем потерять важные изменения!
Поэтому вначале нужно F2, а потом уж ShiftF4.

Мой макрос так и делает: если изменений нет - молча ShiftF4.
Если есть - предлагает сохранить, если пользователь соглашается, тогда F2 + ShiftF4.
2useven10
Posts: 5226
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 314 times

Re: Смена кодировки текстового файла: неоднозначности

Post by 2useven10 »

John Doe то что Вы 'ни фига не согласны' понятно. Может пора описать по-ша-го-во что должен делать фар, чтобы решить проблему 'автоматически'. Пока ни здесь ни в обсуждении M#1773/5 я этого не видел.
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Смена кодировки текстового файла: неоднозначности

Post by Max Rusov »

Моя версия макроса. В принципе - это ответ на вопрос, что должен делать FAR автоматически. Мне кажется, что как-то так и должен.

User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Смена кодировки текстового файла: неоднозначности

Post by John Doe »

2useven10 wrote:Пока ни здесь ни в обсуждении M#1773/5 я этого не видел.
"Здесь" это где? Я вообще-то давал ссылки на 1 и 2.
Собственно, ничего суперумного там нет, поэтому можем и с начала:

Требуется: менять кодовую страницу без искуственных ограничений, а в случае невозможности предупреждать пользователя, не гробя содержимое редактора.

Last edited by John Doe on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: перемудрил
Max Rusov
Posts: 3651
Joined: Wed 23 Nov, 2005 11:11
Location: Москва-Питер
Has thanked: 2 times
Been thanked: 19 times

Re: Смена кодировки текстового файла: неоднозначности

Post by Max Rusov »

+ По возможности попытаться сохранить текущую позицию
Post Reply

Return to “Обсуждение Far Manager”