J'ai des fichiers javascript dont j'ai besoin pour être sauvegardés dans UTF-8 (sans nomenclature), chaque fois que je les convertis au format correct dans Notepad ++ , ils sont rétablis en UTF-8 avec nomenclature lorsque je les ouvre. dans Visual Studio. Comment puis-je empêcher VS2010 de le faire?
Une autre question, est-ce que UTF-8 sans signature dans Visual Studio est identique à UTF-8 sans BOM?
BOM ou Byte Order Mark est parfois assez agaçant. Visual Studio ne modifie pas le fichier à moins que vous ne le sauvegardiez (comme l'a dit Hans).
Et voici la solution à votre problème: .__ Si vous souhaitez enregistrer un fichier avec d’autres encodages, sélectionnez Enregistrer sous, étendez le bouton Enregistrer dans la boîte de dialogue du fichier et sélectionnez "Enregistrer avec encodage". Ou si vous voulez vous débarrasser de ce paramètre de façon permanente, ouvrez simplement le menu Fichier et sélectionnez "Options de sauvegarde avancées". Sélectionnez ensuite "UTF-8 sans signature" (et cela répond également à votre dernière question :). Oui, "UTF-8 sans signature" est identique à sans BOM.
J'ai créé l'extension Fix File Encoding qui empêche Visual Studio 2010+ d'ajouter une nomenclature à des fichiers UTF-8.
Maintenant avec des images.
File
-> Save As
.Save with Encoding..
.UTF-8 Without signature
-> Cliquez sur OK
.J'espère que cela vous fait gagner du temps.
Malheureusement, cela ne fonctionne pas avec les fichiers csproj. Il n’existe aucune "option de sauvegarde avancée" et même si vous l’avez réglée sur "UTF-8 sans signature" pour un fichier cs, les fichiers csproj sont toujours enregistrés avec BOM. Si vous utilisez VSS, il se plaint toujours des fichiers de projet.
Récemment, j’ai trouvé ce petit outil de ligne de commande qui ajoute ou supprime la nomenclature sur des fichiers codés UTF-8 arbitraires: Utilités de nomenclature UTF ( nouveau lien sur github)
Petit inconvénient, vous ne pouvez télécharger que le code source en clair C++. Vous devez créer le fichier makefile (avec CMake , par exemple) et le compiler vous-même. Les fichiers binaires ne sont pas fournis sur cette page. Cependant, pour un développeur de logiciel, cela ne devrait poser aucun problème.
Pour vs2010 c ++, il y aura des problèmes avec UTF8 sans nomenclature, lorsque les fichiers source contiennent des caractères multi-octets (par exemple, chinois).
Ces caractères ne seront pas reconnus correctement sans nomenclature et entraîneront un échec de la saisie.
Même avec la solution de Dave81, Visual Studio 2015 Community restituait toujours mon fichier en UTF8-BOM chaque fois que je sauvegardais ce fichier html.
Lorsque j'ai créé ce fichier html, j'ai cliqué avec le bouton droit de la souris sur le projet et sélectionné "Ajouter", puis ajouté un fichier HTML.
Par défaut, Visual studio inclura une balise <meta charset = "utf-8" /> dans votre fichier HTML.
En enlevant simplement l'étiquette, puis en appliquant la solution de Dave81, le problème a été résolu pour de vrai cette fois.
Il semble que Visual Studio analyse votre fichier html et, lorsqu'il voit cette balise, le convertit en UTF8-BOM sans tenir compte du format de fichier d'origine (UTF8 sans BOM).
** J'aurais fait un commentaire directement sous la solution de Dave81, mais je n'avais pas assez de points pour le faire ...
VS 2017 supporte nativement EditorConfig donc une solution recommandée consiste à ajouter un fichier
.editorconfig
à votre base de code et à définircharset => utf-8
. Ensuite, une fois que vous enregistrez un fichier, il sera enregistré au format UTF-8 sans nomenclature.