UTF-8 sin lista de materiales

Tengo archivos javascript que necesito que se guarden en UTF-8 (sin BOM), cada vez que los convierto en el formato correcto en Notepad ++ , se vuelven a convertir a UTF-8 con BOM cuando los abro en Visual Studio. ¿Cómo puedo evitar que VS2010 haga eso?

Otra pregunta, ¿es UTF-8 sin firma en Visual Studio lo mismo que UTF-8 sin BOM?

BOM o Byte Order Mark a veces es bastante molesto. Visual Studio no cambia el archivo a menos que lo guarde (como dijo Hans).

Y aquí está la solución a su problema: si desea guardar un archivo con otras codificaciones, seleccione guardar como y amplíe el botón Guardar en el cuadro de diálogo de archivo y seleccione “Guardar con encoding”. O si desea deshacerse de esta configuración permanentemente solo abra el menú Archivo y seleccione “Opciones de guardado avanzadas” y allí debe seleccionar “UTF-8 sin firma” (y eso también respondió su última pregunta :). Sí “UTF-8 sin firma” es lo mismo que sin BOM.

Creé la extensión Fix File Encoding que evita que Visual Studio 2010+ agregue BOM a archivos UTF-8.

Ahora con imágenes.

  1. Ve a File -> Save As .

enter image description here

  1. Luego, en el botón Guardar, haga clic en triángulo y haga clic en Save with Encoding.. .

enter image description here

  1. Haga clic en Aceptar para sobrescribir el archivo y luego en la lista de codificaciones, busque UTF-8 Without signature -> Haga clic en OK .

enter image description here

Espero que esto te ahorre algo de tiempo.

Lamentablemente, esto no funciona con los archivos csproj. No hay una “opción de guardado avanzada” y, aunque lo haya configurado en “UTF-8 sin firma” para un archivo cs, los archivos csproj aún se guardan con la lista de materiales. Si usa VSS, todavía se queja de los archivos del proyecto.

Para vs2010 c ++, habrá problemas con UTF8 sin BOM, cuando los archivos fuente contengan caracteres de varios bytes (por ejemplo, chino).

Esos caracteres no se reconocerán correctamente sin BOM y darán como resultado una comstackción fallida.

Recientemente encontré esta pequeña herramienta de línea de comandos que agrega o quita la lista de materiales en los archivos codificados UTF-8 arbitary: UTF BOM Utils

Poco inconveniente, puedes descargar solo el código fuente simple de C ++. Debe crear el archivo MAKE (con CMake , por ejemplo) y comstackrlo usted mismo, los binarios no se proporcionan en esta página. Sin embargo, para un desarrollador de software esto no debería ser un problema.

Incluso con la solución de Dave81, Visual Studio 2015 Community aún estaba revertiendo mi archivo a UTF8-BOM cada vez que guardaba ese archivo html.

Cuando creé ese archivo html, hice clic derecho en el proyecto y seleccioné “Agregar” y luego agregué un archivo HTML.

De forma predeterminada, Visual Studio incluirá una etiqueta en su archivo HTML.

Simplemente quitar la etiqueta y luego aplicar la solución de Dave81 hizo que el problema desapareciera de verdad esta vez.

Parece que Visual Studio analiza el archivo html y cuando ve esa etiqueta convierte el archivo a UTF8-BOM sin tener en cuenta el formato de archivo original (UTF8 sin BOM).

** Habría hecho un comentario directamente bajo la solución de Dave81, pero no tuve suficientes puntos para hacerlo …

UTF-8 – “Guardar como” (sin firma) Predeterminado: solicitud para incluir el valor predeterminado para UTF sin firma

VS 2017 es compatible nativamente con EditorConfig por lo que una solución recomendada es agregar el archivo .editorconfig a su base de código y establecer charset => utf-8 . Luego, una vez que guarde un archivo, se guardará como UTF-8 sin BOM.