Ich habe Javascript-Dateien, die in UTF-8 (ohne Stückliste) gespeichert werden müssen. Jedes Mal, wenn ich sie in Notepad ++ in das richtige Format konvertiere , werden sie beim Öffnen in Visual Studio mit Stückliste auf UTF-8 zurückgesetzt. Wie kann ich VS2010 davon abhalten?
Eine andere Frage: Ist UTF-8 ohne Signatur in Visual Studio dasselbe wie UTF-8 ohne Stückliste?
Antworten:
Stücklisten- oder Byte-Bestellzeichen sind manchmal ziemlich nervig. Visual Studio ändert die Datei nur, wenn Sie sie speichern (wie Hans sagte).
Und hier ist die Lösung für Ihr Problem: Wenn Sie eine Datei mit anderen Codierungen speichern möchten, wählen Sie Speichern unter und erweitern Sie die Schaltfläche Speichern im Dateidialog und wählen Sie "Mit Codierung speichern". Oder wenn Sie diese Einstellung dauerhaft entfernen möchten, öffnen Sie einfach das Menü Datei und wählen Sie "Erweiterte Speicheroptionen". Dort sollten Sie "UTF-8 ohne Signatur" auswählen (und das hat auch Ihre letzte Frage beantwortet :). Ja, "UTF-8 ohne Signatur" ist dasselbe wie ohne Stückliste.
quelle
Jetzt mit Bildern.
Gehe zu
File
->Save As
.Klicken Sie dann auf die Schaltfläche Speichern auf Dreieck und klicken Sie auf
Save with Encoding...
.Klicken Sie auf OK, um die Datei zu überschreiben, und suchen
UTF-8 Without signature
Sie dann in der Liste der Codierungen nach -> Klicken Sie aufOK
.Hoffe das spart dir etwas Zeit.
quelle
Ich habe die Fix File Encoding- Erweiterung erstellt, die verhindert, dass Visual Studio 2010+ UTF-8-Dateien Stücklisten hinzufügt.
quelle
Leider funktioniert dies nicht mit csproj-Dateien. Es gibt keine "Erweiterte Speicheroption", und obwohl Sie für eine CS-Datei die Option "UTF-8 ohne Signatur" festgelegt haben, werden CSG-Dateien weiterhin mit der Stückliste gespeichert. Wenn Sie VSS verwenden, werden weiterhin Projektdateien beanstandet.
quelle
UTF-8 - "Speichern unter" (ohne Signatur) Standard - Anforderung, Standard für UTF ohne Signatur aufzunehmen
quelle
charset
in .editorconfig github.com/editorconfig/editorconfig-visualstudio/issues/…Für vs2010 c ++ gibt es Probleme mit UTF8 ohne Stückliste, wenn Quelldateien Mehrbyte-Zeichen enthalten (z. B. Chinesisch).
Diese Zeichen werden ohne Stückliste nicht korrekt erkannt und führen zu einer fehlgeschlagenen Erfüllung.
quelle
Kürzlich habe ich dieses winzige Befehlszeilentool gefunden, das die Stückliste für beliebige UTF-8-codierte Dateien hinzufügt oder entfernt: UTF BOM Utils ( neuer Link bei github)
Kleiner Nachteil, Sie können nur den einfachen C ++ - Quellcode herunterladen. Sie müssen das Makefile erstellen ( z. B. mit CMake ) und selbst kompilieren. Auf dieser Seite werden keine Binärdateien bereitgestellt. Für einen Softwareentwickler sollte dies jedoch kein Problem sein.
quelle
Selbst mit der Lösung von Dave81 hat Visual Studio 2015 Community meine Datei jedes Mal, wenn ich diese HTML-Datei speichere, auf UTF8-BOM zurückgesetzt.
Als ich diese HTML-Datei erstellt habe, habe ich mit der rechten Maustaste auf das Projekt geklickt und "Hinzufügen" ausgewählt und dann eine HTML-Datei hinzugefügt.
Standardmäßig enthält Visual Studio ein
<meta charset="utf-8" />
Tag in Ihrer HTML-Datei.Durch einfaches Entfernen des Tags und anschließendes Anwenden der Lösung von Dave81 wurde das Problem dieses Mal behoben.
Es scheint, dass Visual Studio Ihre HTML-Datei analysiert und die Datei ohne Berücksichtigung des ursprünglichen Dateiformats (UTF-8 ohne Stückliste) in UTF8-BOM konvertiert, wenn es dieses Tag sieht.
Ich hätte direkt unter Dave81s Lösung einen Kommentar abgegeben, aber ich hatte nicht genug Punkte, um dies zu tun ...
quelle
Gehen Sie für Visual Studio Code wie folgt vor:
quelle
Dieser Code erstellt eine Datei in UTF-8 ohne Stückliste
quelle