2

Я использую WinSCP для работы через SFTP с удаленным сервером под управлением дистрибутива Linux. Я также использую Notepad++ (последняя версия) в качестве текстового редактора (при редактировании удаленного файла).

Когда я использую WinSCP для создания нового файла на удаленном сервере, используя:

Right click > New > File...

Notepad++ открывает пустой файл, но кодировка отображается как ANSI вместо UTF-8 без спецификации, что является моей настройкой по умолчанию. У меня даже в Notepad++ включена опция "Применить к открытым файлам ANSI"

Settings / Preferences / New Document / Encoding /
   UTF-8 without BOM / Apply to opened ANSI files

Из-за этого мне приходится каждый раз вручную выбирать Encoding / Convert to UTF-8 without BOM , и если по какой-то причине я забываю, что мне нужно сделать этот шаг, то файл сохраняется как ANSI, и это может вызвать проблемы.

Есть ли способ, чтобы новый файл был закодирован как UTF-8 без спецификации с самого начала?

2 ответа2

1

Проверяя исходный код Notepad++, я вижу, что опция "Применить к открытым файлам ANSI" помечена неправильно. Должно быть написано «Применить к открытым ASCII- файлам», поскольку оно относится только к 7-битным (ASCII) файлам.

Пустой файл "определяется" как 8-битный (ANSI), поэтому опция никогда не применяется к пустым файлам.

UniMode um = UnicodeConvertor.getEncoding();
if (um == uni7Bit)
{
    if (ndds._openAnsiAsUtf8)
    {
        um = uniCookie;
    }
    else
    {
        um = uni8Bit;
    }
}

UnicodeConvertor.getEncoding() всегда возвращает uni8Bit когда файл пуст.

Я предлагаю вам сообщить об этом как об ошибке.


Кажется, что нет никакой опции командной строки для принудительного использования другой кодировки:
http://docs.notepad-plus-plus.org/index.php/Command_Line_Switches

0

Это, кажется, исправлено в Notepad++ 6.4.5 https://notepad-plus-plus.org/download/v6.4.5.html

Исправлена ошибка обнаружения UTF-8 (без спецификации).

Тем не менее, когда новый файл создается в WinSCP и открывается с помощью Notepad++, кодирование в правом нижнем углу редактора показывает ANSI. Но когда файл сохраняется, закрывается и открывается снова, кодировка UTF8.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .