web-dev-qa-db-ja.com

BOMなしのUTF-8

UTF-8(BOMなし)で保存する必要があるjavascriptファイルがあり、Notepad ++で正しい形式に変換するたびに、BOMを使用してUTF-8に戻りますVisual Studioで開きます。 VS2010がそれを行うのを停止するにはどうすればよいですか?

別の質問として、Visual Studioの署名のないUTF-8はBOMのないUTF-8と同じですか?

170
kabaros

BOMまたはバイトオーダーマークは時々非常に迷惑です。 Visual Studioは、保存しない限りファイルを変更しません(ハンスが言ったように)。

そして、ここにあなたの問題の解決策があります:他のエンコーディングでファイルを保存したい場合、名前を付けて保存を選択し、ファイルダイアログの保存ボタンを拡張し、「エンコーディングで保存」を選択します。または、この設定を完全に削除する場合は、[ファイル]メニューを開いて[詳細保存オプション]を選択し、[署名なしのUTF-8]を選択する必要があります(最後の質問にも答えました)。はい、「署名なしのUTF-8」はBOMなしと同じです。

215
Dave81

Visual Studio 2010+がBOMをUTF-8ファイルに追加できないようにする Fix File Encoding 拡張機能を作成しました。

25
Sergey Vlasov

写真付き。

  1. File-> Save Asに移動します。

enter image description here

  1. 次に、[保存]ボタンで三角形をクリックし、[Save with Encoding..]をクリックします。

enter image description here

  1. [OK]をクリックしてファイルを上書きし、エンコードのリストからUTF-8 Without signature-> [OK]をクリックします。

enter image description here

これで時間を節約できることを願っています。

23

残念ながら、これはcsprojファイルでは機能しません。 「高度な保存オプション」はありません。csファイルに対して「署名なしのUTF-8」に設定しても、csprojファイルはBOMで保存されます。 VSSを使用している場合でも、プロジェクトファイルに関するエラーが表示されます。

6
Wray

TF-8-「名前を付けて保存」(署名なし)デフォルト-署名なしのUTFのデフォルトを含める要求

VS 2017はネイティブで EditorConfig をサポートしているため、推奨されるソリューションは.editorconfigファイルをコードベースに追加し、charset => utf-8を設定することです。その後、ファイルを保存すると、BOMなしのUTF-8として保存されます。

4
Dave Anderson

最近、任意のUTF-8エンコードファイルでBOMを追加または削除するこの小さなコマンドラインツールを見つけました: TF BOM Utils (- new link at github)

少しの欠点は、プレーンなC++ソースコードしかダウンロードできないことです。メイクファイルを作成し(たとえば CMake を使用)、自分でコンパイルする必要があります。このページではバイナリは提供されていません。ただし、ソフトウェア開発者にとっては、これは問題になりません。

2

Vs2010 c ++では、ソースファイルにマルチバイト文字(中国語など)が含まれる場合、BOMなしのUTF8で問題が発生します。

これらの文字はBOMなしでは正しく認識されず、コンパイルに失敗します。

2
Martin Wang

Dave81のソリューションを使用しても、Visual Studio 2015コミュニティは、そのhtmlファイルを保存するたびにファイルをUTF8-BOMに戻していました。

そのhtmlファイルを作成したら、プロジェクトを右クリックして[追加]を選択し、HTMLファイルを追加しました。

デフォルトでは、Visual StudioはHTMLファイルに<meta charset = "utf-8" />タグを含めます。

タグを削除してからDave81のソリューションを適用するだけで、今回の問題は解消されました。

Visual Studioはhtmlファイルを解析し、そのタグが表示されると、元のファイル形式(BOMなしのUTF8)を考慮せずにファイルをUTF8-BOMに変換するようです。

** Dave81のソリューションの直下でコメントを付けていましたが、そうするのに十分なポイントがありませんでした...

1
Jonny

Visual Studio Codeの場合、次の手順を実行します。

  1. 右下から現在のエンコードを選択します enter image description here
  2. オプションからを選択して保存enter image description here
  3. オプションから、UTF-8enter image description here
0
Mahesh