Edit: aku salah;)
cmd.exe
tidak menerima UTF-8 tetapi Anda harus yakin untuk menyimpannya tanpa yang BOM
pada awal file.
Ini tes kedua. Anda dapat menggunakan chcp 65001
di awal file batch Anda.
File batch tidak bisa dari jenis UTF-8. Itu harus ASCII. Cmd.exe
tidak menerima format lain. Saya melakukan tes kecil dan Anda dapat menggunakan karakter Anda tetapi perlu beberapa pekerjaan.
Buat file test.bat
dengan echo Å Ä Ö
. Simpan dengan format ANSI/ASCII
. Buka a cmd.exe
dan pastikan cmd.exe
penggunaan Anda Lucida Console
(untuk menampilkan karakter Unicode).
Ketika Anda mengetik file itu akan menampilkan karakter sebagai karakter DOS lama. Anda dapat melihat grafik terjemahan di sini .
Ketika Anda beralih ke "Windows Ansi" - halaman kode (yaitu Latin Eropa Barat) dengan chcp 1252
karakter ditampilkan dengan benar. Jika mereka juga ditransfer ke utilitas masing-masing tergantung pada utilitas itu.
Tapi mengapa Anda membuat file batch untuk ini? Tidak bisakah Anda hanya kode di VB.net?
Edit 2 #:
Ini adalah bagaimana Anda mengatur Lucida Console
di cmd.exe
:
Ada BOM
3 karakter di awal file UTF-8. ( \xEF\xBB\xBF
).
Dalam VB.net Anda akan menciptakan sebuah file tanpa sebuah BOM
seperti ini:
Dim utf8WithoutBom As New System.Text.UTF8Encoding(False)
'^^^^^'
Using sink As New StreamWriter("Foobar.txt", False, utf8WithoutBom)
sink.WriteLine("...")
End Using