UTF-8 senza BOM

Ho i file javascript che ho bisogno di loro per essere salvati in UTF-8 (senza BOM), ogni volta che li converto nel formato corretto in Notepad ++ , vengono ripristinati su UTF-8 con BOM quando li apro in Visual Studio. Come posso impedire a VS2010 di farlo?

Un’altra domanda è UTF-8 senza firma in Visual Studio uguale a UTF-8 senza BOM?

BOM o Byte Order Mark a volte è abbastanza fastidioso. Visual Studio non modifica il file a meno che non lo salvi (come ha detto Hans).

Ed ecco la soluzione al tuo problema: se vuoi salvare un file con altre codifiche seleziona Salva con nome ed estendi il pulsante Salva nella finestra di dialogo del file e seleziona “Salva con codifica”. Oppure, se vuoi eliminare definitivamente questa impostazione, apri il menu File e seleziona “Opzioni di salvataggio avanzate” e lì seleziona “UTF-8 senza firma” (e che ha anche risposto alla tua ultima domanda :). Sì “UTF-8 senza firma” è uguale a quello senza BOM.

Ho creato l’estensione Codifica file fissi che impedisce a Visual Studio 2010+ di aggiungere file BOM a UTF-8.

Ora con le foto.

  1. Vai a File -> Save As .

inserisci la descrizione dell'immagine qui

  1. Quindi, sul pulsante Salva, fai clic sul triangolo e fai Save with Encoding.. su Save with Encoding.. .

inserisci la descrizione dell'immagine qui

  1. Fare clic su OK per sovrascrivere il file, quindi dall’elenco delle codifiche trovare UTF-8 Without signature -> Fare OK su OK .

inserisci la descrizione dell'immagine qui

Spero che questo ti salvi un po ‘di tempo.

Sfortunatamente questo non funziona con i file csproj. Non esiste “Advanced save option” e anche se è stato impostato su “UTF-8 senza firma” per un file cs, i file csproj vengono comunque salvati con BOM. Se si utilizza VSS, si lamenta ancora dei file di progetto.

Per vs2010 c ++, ci saranno problemi con UTF8 senza BOM, quando i file di origine contengono caratteri multi-byte (ad esempio cinese).

Quei caratteri non verranno riconosciuti correttamente senza BOM e comportano il mancato compiacimento.

Recentemente ho trovato questo piccolo strumento da riga di comando che aggiunge o rimuove il BOM sui file codificati UTF-8 arbitari: UTOM BOM Util

Piccolo inconveniente, è ansible scaricare solo il codice sorgente C ++ semplice. Devi creare il makefile (con CMake , per esempio) e compilarlo da solo, i binari non sono forniti in questa pagina. Tuttavia, per uno sviluppatore di software questo non dovrebbe essere un problema.

Anche con la soluzione di Dave81, Visual Studio 2015 Community stava ancora ripristinando il mio file su UTF8-BOM ogni volta che salvavo il file html.

Quando ho creato il file html, ho fatto clic con il pulsante destro del mouse sul progetto e ho selezionato “Aggiungi”, quindi ho aggiunto un file HTML.

Per impostazione predefinita, Visual Studio includerà un tag nel file HTML.

Semplicemente rimuovendo il tag e applicando la soluzione di Dave81, questa volta il problema è scomparso per davvero.

Sembra che Visual Studio analizzi il file html e quando vede quel tag converte il file in UTF8-BOM senza considerare il formato originale del file (UTF8 senza BOM).

** Avrei fatto un commento direttamente sotto la soluzione di Dave81, ma non avevo abbastanza punti per farlo …

UTF-8 – “Salva con nome” (senza firma) Impostazione predefinita – Richiesta di includere l’impostazione predefinita per UTF senza firma

VS 2017 supporta nativamente EditorConfig quindi una soluzione raccomandata è aggiungere il file .editorconfig al tuo codice base e impostare charset => utf-8 . Quindi, una volta salvato un file, verrà salvato come UTF-8 senza BOM.