Jawaban:
Kemungkinan encoding output Anda diatur ke ASCII. Coba gunakan ini sebelum mengirim output:
Console.OutputEncoding = System.Text.Encoding.UTF8;
( Tautan MSDN ke dokumentasi pendukung.)
Dan inilah aplikasi uji konsol kecil yang mungkin berguna bagi Anda:
C #
using System;
using System.Text;
public static class ConsoleOutputTest {
public static void Main() {
Console.OutputEncoding = System.Text.Encoding.UTF8;
for (var i = 0; i <= 1000; i++) {
Console.Write(Strings.ChrW(i));
if (i % 50 == 0) { // break every 50 chars
Console.WriteLine();
}
}
Console.ReadKey();
}
}
VB.NET
imports Microsoft.VisualBasic
imports System
public module ConsoleOutputTest
Sub Main()
Console.OutputEncoding = System.Text.Encoding.UTF8
dim i as integer
for i = 0 to 1000
Console.Write(ChrW(i))
if i mod 50 = 0 'break every 50 chars
Console.WriteLine()
end if
next
Console.ReadKey()
End Sub
end module
Mungkin juga font Font Konsol pilihan Anda tidak mendukung karakter tertentu. Klik pada Menu Bilah Alat Windows (ikon seperti C :.) dan pilih Properti -> Font. Coba beberapa font lain untuk melihat apakah mereka menampilkan karakter Anda dengan benar:
Saya menemukan beberapa solusi elegan di MSDN
System.Console.Write('\uXXXX') //XXXX is hex Unicode for character
Program sederhana ini menulis ℃ tepat di layar.
using System;
public class Test
{
public static void Main()
{
Console.Write('\u2103'); //℃ character code
}
}
Properti Console.OutputEncoding
http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx
Perhatikan bahwa berhasil menampilkan karakter Unicode ke konsol membutuhkan yang berikut:
Selain Console.OutputEncoding = System.Text.Encoding.UTF8;
untuk beberapa karakter Anda perlu menginstal font tambahan (mis. Bahasa Cina).
Di Windows 10 pertama pergi ke pengaturan Wilayah & bahasa dan menginstal dukungan untuk bahasa yang diperlukan:
Setelah itu Anda dapat pergi ke Command Prompt Proporties (atau Defaults jika Anda suka) dan pilih beberapa font yang mendukung bahasa Anda (seperti KaiTi dalam kasus Cina):
Ini bekerja untuk saya:
Console.OutputEncoding = System.Text.Encoding.Default;
Untuk menampilkan beberapa simbol, diperlukan untuk mengatur font Command Prompt ke Lucida Console:
Prompt Perintah Terbuka;
Klik kanan pada bilah atas dari Command Prompt;
Klik Properti;
Jika font diatur ke Raster Fonts, ubah ke Lucida Console.
Console.OutputEncoding
tidak dapat diatur keEncoding.Unicode
(UTF-16).Encoding.UTF8
Namun, itu mungkin.