Saya menggunakan WinSCP untuk bekerja melalui SFTP dengan server jarak jauh menjalankan distro Linux. Saya juga menggunakan Notepad ++ (versi terbaru) sebagai editor teks saya (saat mengedit file jarak jauh).
Ketika saya menggunakan WinSCP untuk membuat file baru di server jauh menggunakan:
Right click > New > File...
Notepad ++ membuka file kosong, tetapi pengkodean muncul sebagai ANSI bukan UTF-8 tanpa BOM , yang merupakan default saya. Saya bahkan memiliki opsi "Terapkan untuk membuka file ANSI" diaktifkan di Notepad ++
Settings / Preferences / New Document / Encoding /
UTF-8 without BOM / Apply to opened ANSI files
Karena ini saya harus memilih secara manual Encoding / Convert to UTF-8 without BOM
setiap kali, dan jika karena alasan tertentu saya lupa saya harus melakukan langkah itu, well, file tersebut disimpan sebagai ANSI dan itu dapat menyebabkan masalah.
Apakah ada cara agar file baru dikodekan sebagai UTF-8 tanpa BOM sejak awal?
Jawaban:
Memeriksa kode sumber Notepad ++, saya dapat melihat bahwa opsi "Terapkan untuk membuka file ANSI" salah diberi label. Itu harus membaca "Terapkan untuk membuka file ASCII " karena hanya berlaku untuk file 7-bit (ASCII).
File kosong "terdeteksi" menjadi 8-bit (ANSI), sehingga opsi tidak pernah berlaku untuk file kosong.
The
UnicodeConvertor.getEncoding()
selalu kembaliuni8Bit
ketika file tersebut kosong.Saya sarankan Anda melaporkan ini sebagai bug.
Tampaknya juga tidak ada opsi baris perintah untuk memaksa penyandian yang berbeda:
http://docs.notepad-plus-plus.org/index.php/Command_Line_Switches
sumber
Ini tampaknya diperbaiki di Notepad ++ 6.4.5 https://notepad-plus-plus.org/download/v6.4.5.html
Namun, ketika file baru dibuat di WinSCP dan dibuka dengan Notepad ++, penyandian di sudut kanan bawah editor menunjukkan ANSI. Tetapi ketika file disimpan, ditutup, dan dibuka sekali lagi, pengodeannya adalah UTF8.
sumber