Tengo archivos javascript que necesito que se guarden en UTF-8 (sin BOM), cada vez que los convierto al formato correcto en Notepad ++ , vuelven a UTF-8 con BOM cuando los abro en Visual Studio. ¿Cómo puedo evitar que VS2010 haga eso?
Otra pregunta, ¿UTF-8 sin firma en Visual Studio es lo mismo que UTF-8 sin BOM?
Respuestas:
BOM o Byte Order Mark es a veces 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 extienda el botón Guardar en el diálogo de archivo y seleccione "Guardar con codificación". O si desea deshacerse de esta configuración de forma permanente, simplemente abra el menú Archivo y seleccione "Opciones avanzadas de guardado" y allí debe seleccionar "UTF-8 sin firma" (y eso también respondió a su última pregunta :). Sí, "UTF-8 sin firma" es lo mismo que sin BOM.
fuente
Ahora con fotos.
Ve a
File
->Save As
.Luego, en el botón Guardar, haga clic en el triángulo y haga clic
Save with Encoding...
.Haga clic en Aceptar para sobrescribir el archivo y luego, en la lista de codificaciones, busque
UTF-8 Without signature
-> Haga clicOK
.Espero que esto te ahorre algo de tiempo.
fuente
He creado el archivo Fix Codificación de extensión que impide Visual Studio 2010+ de la adición de la lista de materiales a UTF-8 archivos.
fuente
Lamentablemente, esto no funciona con archivos csproj. No existe una "Opción de guardado avanzada" y, aunque la haya configurado en "UTF-8 sin firma" para un archivo cs, los archivos csproj aún se guardan con BOM. Si usa VSS, todavía se queja de los archivos del proyecto.
fuente
UTF-8: "Guardar como" (sin firma) Predeterminado: solicitud para incluir el valor predeterminado para UTF sin firma
fuente
charset
con .editorconfig github.com/editorconfig/editorconfig-visualstudio/issues/…Para vs2010 c ++, habrá problemas con UTF8 sin BOM, cuando los archivos de origen contienen caracteres de varios bytes (por ejemplo, chino).
Esos caracteres no se reconocerán correctamente sin BOM y darán lugar a una compilación fallida.
fuente
Recientemente encontré esta pequeña herramienta de línea de comandos que agrega o elimina la lista de materiales en archivos codificados UTF-8 arbitrarios: UTF BOM Utils ( nuevo enlace en github)
Pequeño inconveniente, solo puede descargar el código fuente de C ++. Debe crear el archivo MAKE (con CMake , por ejemplo) y compilarlo usted mismo, no se proporcionan binarios en esta página. Sin embargo, para un desarrollador de software esto no debería ser un problema.
fuente
Incluso con la solución de Dave81, Visual Studio 2015 Community todavía estaba volviendo 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
<meta charset="utf-8" />
etiqueta en su archivo HTML.Simplemente quitando la etiqueta y luego aplicando la solución de Dave81, el problema desapareció de verdad esta vez.
Parece que Visual Studio analiza su archivo html y cuando ve esa etiqueta, convierte el archivo a UTF8-BOM sin tener en cuenta el formato de archivo original (UTF-8 sin BOM).
Hubiera hecho un comentario directamente bajo la solución de Dave81, pero no tenía suficientes puntos para hacerlo ...
fuente
Para Visual Studio Code, haga lo siguiente:
fuente
Este código creará un archivo en UTF-8 sin BOM
fuente