Tenho arquivos javascript que precisam ser salvos em UTF-8 (sem BOM), toda vez que os converto no formato correto no Notepad ++ , eles são revertidos para UTF-8 com BOM quando os abro no Visual Studio. Como posso impedir que o VS2010 faça isso?
Outra pergunta: UTF-8 sem assinatura no Visual Studio é o mesmo que UTF-8 sem BOM?
Respostas:
Às vezes, a BOM ou a marca de ordem de bytes é bastante irritante. O Visual Studio não altera o arquivo, a menos que você o salve (como disse Hans).
E aqui está a solução para o seu problema: Se você deseja salvar um arquivo com outras codificações, selecione Salvar como e estenda o botão Salvar na caixa de diálogo de arquivo e selecione "Salvar com codificação". Ou, se você quiser se livrar dessa configuração permanentemente, basta abrir o menu Arquivo e selecionar "Opções avançadas de salvamento" e lá você deve selecionar "UTF-8 sem assinatura" (e isso também respondeu à sua última pergunta :). Sim "UTF-8 sem assinatura" é o mesmo que sem BOM.
fonte
Agora com fotos.
Vá para
File
->Save As
.Em seguida, no botão Salvar, clique no triângulo e clique em
Save with Encoding...
.Clique em ok para substituir o arquivo e, na lista de codificações, encontre
UTF-8 Without signature
-> Clique emOK
.Espero que isso poupe algum tempo.
fonte
Eu criei a extensão Fix File Encoding que impede o Visual Studio 2010+ de adicionar BOM aos arquivos UTF-8.
fonte
Infelizmente isso não funciona com arquivos csproj. Não há "Opção de gravação avançada" e mesmo que você tenha definido como "UTF-8 sem assinatura" para um arquivo cs, os arquivos csproj ainda são salvos na BOM. Se você usa o VSS, ele ainda reclama dos arquivos do projeto.
fonte
UTF-8 - Padrão "Salvar como" (sem assinatura) - Solicitação para incluir o padrão para UTF sem assinatura
fonte
charset
em .editorconfig github.com/editorconfig/editorconfig-visualstudio/issues/...Para o vs2010 c ++, haverá problemas com o UTF8 sem BOM, quando os arquivos de origem contiverem caracteres de vários bytes (por exemplo, chinês).
Esses caracteres não serão reconhecidos corretamente sem a BOM e resultarão em falha na conformidade.
fonte
Recentemente, encontrei esta pequena ferramenta de linha de comando que adiciona ou remove a lista técnica em arquivos codificados UTF-8 arbitrários: UTF BOM Utils ( novo link no github)
Pouco inconveniente, você pode baixar apenas o código-fonte C ++ simples. Você precisa criar o makefile (com o CMake , por exemplo) e compilá-lo sozinho, os binários não são fornecidos nesta página. No entanto, para um desenvolvedor de software, isso não deve ser problema.
fonte
Mesmo com a solução de Dave81, a Comunidade do Visual Studio 2015 ainda estava revertendo meu arquivo para UTF8-BOM toda vez que eu salvo esse arquivo html.
Quando criei esse arquivo html, cliquei com o botão direito do mouse no projeto e selecionei "Adicionar" e adicionei um arquivo HTML.
Por padrão, o Visual studio incluirá uma
<meta charset="utf-8" />
marca no seu arquivo HTML.Simplesmente remover a etiqueta e aplicar a solução do Dave81 fez com que o problema desaparecesse de verdade neste momento.
Parece que o Visual Studio analisa seu arquivo html e, quando vê essa tag, converte o arquivo em UTF8-BOM sem levar em consideração o formato do arquivo original (UTF-8 sem BOM).
Eu teria feito um comentário diretamente sob a solução de Dave81, mas não tinha pontos suficientes para fazê-lo ...
fonte
Para o Código do Visual Studio, faça o seguinte:
fonte
Este código criará um arquivo em UTF-8 sem BOM
fonte