Cria um novo arquivo no WinSCP com UTF-8 sem codificação de BOM

2

Estou usando WinSCP para trabalhar via SFTP com um servidor remoto executando uma distribuição Linux. Eu também estou usando o Notepad ++ (versão mais recente) como meu editor de texto (ao editar um arquivo remoto).

Quando uso o WinSCP para criar um novo arquivo no servidor remoto usando:

Right click > New > File...

O Notepad ++ abre o arquivo vazio, mas a codificação aparece como ANSI em vez de UTF-8 sem BOM , que é meu padrão. Eu até tenho a opção "Aplicar a arquivos ANSI abertos" ativada no Notepad ++

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

Por causa disso eu tenho que selecionar manualmente Encoding / Convert to UTF-8 without BOM cada vez, e se por algum motivo eu esquecer que tenho que fazer esse passo, bem, o arquivo é salvo como ANSI e isso pode causar problemas.

Existe uma maneira de o novo arquivo ser codificado como UTF-8 sem BOM desde o início?

    
por Emmanuel Figuerola 07.04.2015 / 18:51

2 respostas

1

Verificando o código-fonte do Notepad ++, vejo que a opção "Aplicar a arquivos ANSI abertos" está erroneamente rotulada. Ele deve ler "Aplicar a arquivos abertos ASCII " como se aplica somente a arquivos de 7 bits (ASCII).

Um arquivo vazio é "detectado" para ser de 8 bits (ANSI), então a opção nunca se aplica a arquivos vazios.

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

O UnicodeConvertor.getEncoding() sempre retorna uni8Bit quando o arquivo está vazio.

Sugiro que você denuncie isso como um bug.

Nem parece haver nenhuma opção de linha de comando para forçar uma codificação diferente: link

    
por 08.04.2015 / 08:45
0

Isso parece estar corrigido no Notepad ++ 6.4.5 link

Fix UTF-8 (w/o BOM) detection bug.

Ainda assim, quando um novo arquivo é criado no WinSCP e é aberto com o Notepad ++, a codificação no canto inferior direito do editor está exibindo ANSI. Mas quando o arquivo é salvo, fechado e aberto novamente, a codificação é UTF8.

    
por 13.11.2015 / 23:05