Câu trả lời:
Có khả năng mã hóa đầu ra của bạn được đặt thành ASCII. Hãy thử sử dụng điều này trước khi gửi đầu ra:
Console.OutputEncoding = System.Text.Encoding.UTF8;
( Liên kết MSDN đến tài liệu hỗ trợ.)
Và đây là một ứng dụng thử nghiệm bàn điều khiển nhỏ mà bạn có thể thấy tiện dụng:
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
Cũng có thể lựa chọn phông chữ Console của bạn không hỗ trợ ký tự cụ thể đó. Nhấp vào Menu thanh công cụ Windows (biểu tượng như C :.) Và chọn Thuộc tính -> Phông chữ. Hãy thử một số phông chữ khác để xem chúng có hiển thị đúng ký tự của bạn không:
Tôi tìm thấy một số giải pháp tao nhã trên MSDN
System.Console.Write('\uXXXX') //XXXX is hex Unicode for character
Chương trình đơn giản này viết ngay trên màn hình.
using System;
public class Test
{
public static void Main()
{
Console.Write('\u2103'); //℃ character code
}
}
Bảng điều khiển.OutputEncoding
http://msdn.microsoft.com/l Library / system.console.outputencoding (v = vs.110) .aspx
Lưu ý rằng hiển thị thành công các ký tự Unicode cho bảng điều khiển yêu cầu như sau:
ngoài ra Console.OutputEncoding = System.Text.Encoding.UTF8;
đối với một số ký tự, bạn cần cài đặt thêm phông chữ (ví dụ: tiếng Trung Quốc).
Trong Windows 10, trước tiên, hãy đi tới cài đặt khu vực & ngôn ngữ và cài đặt hỗ trợ cho ngôn ngữ được yêu cầu:
Sau đó, bạn có thể truy cập Command Prompt Proporties (hoặc Mặc định nếu bạn muốn) và chọn một số phông chữ hỗ trợ ngôn ngữ của bạn (như KaiTi trong trường hợp tiếng Trung):
Điều này làm việc cho tôi:
Console.OutputEncoding = System.Text.Encoding.Default;
Để hiển thị một số ký hiệu, bắt buộc phải đặt phông chữ của Dấu nhắc lệnh thành Bảng điều khiển Lucida:
Mở lệnh nhắc nhở;
Nhấp chuột phải vào thanh trên cùng của Dấu nhắc Lệnh;
Nhấp vào Thuộc tính;
Nếu phông chữ được đặt thành Phông chữ Raster, hãy đổi nó thành Bảng điều khiển Lucida.
Console.OutputEncoding
không thể được đặt thànhEncoding.Unicode
(UTF-16).Encoding.UTF8
tuy nhiên, có thể