Saya memiliki file javascript yang saya perlukan untuk disimpan di UTF-8 (tanpa BOM), setiap kali saya mengonversinya ke format yang benar di Notepad ++ , file tersebut dikembalikan ke UTF-8 dengan BOM ketika saya membukanya di Visual Studio. Bagaimana saya bisa menghentikan VS2010 dari melakukan itu?
Pertanyaan lain, apakah UTF-8 tanpa tanda tangan di Visual Studio sama dengan UTF-8 tanpa BOM?
Jawaban:
BOM atau Byte Order Mark terkadang cukup mengganggu. Visual Studio tidak mengubah file kecuali Anda menyimpannya (seperti yang dikatakan Hans).
Dan di sini adalah solusi untuk masalah Anda: Jika Anda ingin menyimpan file dengan pengkodean lain pilih save as dan perpanjang tombol simpan dalam dialog file dan pilih "Save with encoding". Atau jika Anda ingin menyingkirkan pengaturan ini secara permanen cukup buka menu File dan pilih "Opsi penyimpanan lanjutan" dan di sana Anda harus memilih "UTF-8 tanpa tanda tangan" (dan itu juga menjawab pertanyaan terakhir Anda :). Ya "UTF-8 tanpa tanda tangan" sama dengan tanpa BOM.
sumber
Sekarang dengan gambar.
Pergi ke
File
->Save As
.Kemudian pada tombol Simpan klik pada segitiga dan klik
Save with Encoding...
.Klik ok untuk menimpa file kemudian dari daftar menemukan penyandian
UTF-8 Without signature
-> KlikOK
.Semoga ini menghemat waktu Anda.
sumber
Saya telah membuat ekstensi Fix File Encoding yang mencegah Visual Studio 2010+ dari menambahkan BOM ke file UTF-8.
sumber
Sayangnya ini tidak berfungsi dengan file csproj. Tidak ada "Opsi penyimpanan lanjutan" dan meskipun Anda telah menetapkannya menjadi "UTF-8 tanpa tanda tangan" untuk file cs, file csproj masih disimpan dengan BOM. Jika Anda menggunakan VSS masih mengeluh tentang file proyek.
sumber
UTF-8 - Default "Save As" (Tanpa Tanda Tangan) - Permintaan untuk memasukkan Default untuk UTF Tanpa Tanda Tangan
sumber
charset
di .editorconfig github.com/editorconfig/editorconfig-visualstudio/issues/…Untuk vs2010 c ++, akan ada masalah dengan UTF8 tanpa BOM, ketika file sumber berisi karakter multi-byte (mis. Bahasa Cina).
Karakter-karakter itu tidak akan dikenali dengan benar tanpa BOM, dan menghasilkan kompilasi yang gagal.
sumber
Baru-baru ini saya menemukan alat baris perintah kecil ini yang menambah atau menghapus BOM pada file UTF-8 yang disandikan secara arbiter : UTF BOM Utils ( tautan baru di github)
Sedikit kekurangan, Anda hanya dapat mengunduh kode sumber C ++ polos. Anda harus membuat makefile (dengan CMake , misalnya) dan mengompilasinya sendiri, biner tidak disediakan di halaman ini. Namun, untuk pengembang perangkat lunak ini seharusnya tidak menjadi masalah.
sumber
Bahkan dengan solusi Dave81, Visual Studio 2015 Community masih mengembalikan file saya ke UTF8-BOM setiap kali saya menyimpan file html itu.
Ketika saya membuat file html itu, saya mengklik kanan pada proyek dan memilih "Tambah" kemudian menambahkan file HTML.
Secara default, Visual studio akan menyertakan
<meta charset="utf-8" />
tag dalam file HTML Anda.Cukup menghapus tag kemudian menerapkan solusi Dave81 membuat masalah hilang nyata saat ini.
Tampaknya Visual Studio mem-parsing file html Anda dan ketika melihat bahwa tag itu mengkonversi file ke UTF8-BOM tanpa mempertimbangkan format file asli (UTF-8 tanpa BOM).
Saya akan membuat komentar langsung di bawah solusi Dave81, tetapi saya tidak punya cukup poin untuk melakukannya ...
sumber
Untuk Visual Studio Code lakukan hal berikut:
sumber
Kode ini akan membuat file dalam UTF-8 tanpa BOM
sumber