Question UTF-8 sans nomenclature


J'ai des fichiers javascript dont j'ai besoin pour être enregistrés dans UTF-8 (sans BOM), chaque fois que je les convertis au format correct dans Bloc-notes ++, ils sont retournés à UTF-8 avec BOM 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?


155
2018-03-23 13:45


origine


Réponses:


BOM ou Byte Order Mark est parfois très ennuyeux. Visual Studio ne modifie pas le fichier sauf si vous l'enregistrez (comme Hans l'a dit).

Et voici la solution à votre problème: Si vous souhaitez enregistrer un fichier avec d'autres encodages, sélectionnez Enregistrer sous et étendez le bouton Enregistrer dans la boîte de dialogue de fichier et sélectionnez "Enregistrer avec encodage". Ou si vous voulez vous débarrasser de ce paramètre de manière permanente, ouvrez simplement le menu Fichier et sélectionnez "Options de sauvegarde avancées" et sélectionnez "UTF-8 sans signature" (et cela répond également à votre dernière question :). Oui "UTF-8 sans signature" est le même que sans BOM.


198
2018-03-23 20:53



J'ai créé le Correction du codage de fichier extension qui empêche Visual Studio 2010+ d'ajouter la nomenclature aux fichiers UTF-8.


22
2017-11-26 14:18



Maintenant avec des photos

  1. Aller à File -> Save As.

enter image description here

  1. Puis sur le bouton Enregistrer, cliquez sur le triangle et cliquez sur Save with Encoding...

enter image description here

  1. Cliquez sur ok pour écraser le fichier puis sur la liste des encodages find UTF-8 Without signature -> Cliquez sur OK.

enter image description here

J'espère que cela vous fait gagner du temps.


16
2017-07-21 08:34



Malheureusement, cela ne fonctionne pas avec les fichiers csproj. Il n'y a pas d'option de sauvegarde avancée et même si vous avez défini l'option "UTF-8 sans signature" pour un fichier cs, les fichiers csproj sont toujours enregistrés avec la nomenclature. Si vous utilisez VSS, il se plaint toujours des fichiers de projet.


5
2017-08-30 13:17



Pour vs2010 c ++, il y aura des problèmes avec UTF8 sans BOM, lorsque les fichiers source contiennent des caractères multi-octets (par exemple, le chinois).

Ces caractères ne seront pas reconnus correctement sans nomenclature et entraîneront un échec de conformité.


2
2017-08-02 19:44



Récemment, j'ai trouvé cet outil de ligne de commande minuscule qui ajoute ou supprime la nomenclature sur des fichiers codés UTF-8: UTF BOM Utils

Petit inconvénient, vous ne pouvez télécharger que le code source C ++ ordinaire. Vous devez créer le makefile (avec CMake, par exemple) et compilez-le vous-même, les binaires ne sont pas fournis sur cette page. Cependant, pour un développeur de logiciels, cela ne devrait poser aucun problème.


2
2018-01-31 21:20



Même avec la solution de Dave81, Visual Studio 2015 Community revenait toujours à UTF8-BOM à chaque fois que je sauvegardais ce fichier HTML.

Lorsque j'ai créé ce fichier HTML, j'ai cliqué avec le bouton droit sur le projet et sélectionné "Ajouter", puis ajouté un fichier HTML.

Par défaut, Visual Studio inclura un <meta charset = "utf-8" /> tag dans votre fichier HTML.

Retirer simplement la balise puis appliquer la solution de Dave81 a fait disparaître le problème pour de vrai cette fois.

Il semble que Visual Studio analyse votre fichier html et lorsqu'il le voit, il convertit le fichier en UTF8-BOM sans tenir compte du format de fichier d'origine (UTF8 sans nomenclature).

** J'aurais fait un commentaire directement sous la solution de Dave81, mais je n'avais pas assez de points pour le faire ...


1
2017-09-21 14:15