ฉันสงสัยว่ามันเป็นไปได้ในแอปพลิเคชั่นคอนโซลเพื่อเขียนตัวอักษรเช่นการ℃
ใช้. NET เมื่อฉันพยายามเขียนตัวละครนี้คอนโซลจะแสดงเครื่องหมายคำถาม
ฉันสงสัยว่ามันเป็นไปได้ในแอปพลิเคชั่นคอนโซลเพื่อเขียนตัวอักษรเช่นการ℃
ใช้. NET เมื่อฉันพยายามเขียนตัวละครนี้คอนโซลจะแสดงเครื่องหมายคำถาม
คำตอบ:
เป็นไปได้ว่าการเข้ารหัสผลลัพธ์ของคุณถูกตั้งค่าเป็น ASCII ลองใช้สิ่งนี้ก่อนที่จะส่งออก:
Console.OutputEncoding = System.Text.Encoding.UTF8;
( ลิงก์ MSDN ไปยังเอกสารประกอบที่สนับสนุน)
และนี่คือแอปทดสอบคอนโซลขนาดเล็กที่คุณอาจพบว่ามีประโยชน์:
ค#
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
อาจเป็นไปได้ว่าตัวเลือกคอนโซลแบบอักษรที่คุณเลือกไม่รองรับอักขระนั้น คลิกที่เมนูแถบเครื่องมือ Windows (ไอคอนเช่น C :. ) และเลือก Properties -> Font ลองแบบอักษรอื่น ๆ เพื่อดูว่าพวกเขาแสดงตัวของคุณอย่างถูกต้อง:
ฉันพบโซลูชันที่สง่างามบน MSDN
System.Console.Write('\uXXXX') //XXXX is hex Unicode for character
โปรแกรมที่เรียบง่ายนี้เขียนได้ทันทีบนหน้าจอ
using System;
public class Test
{
public static void Main()
{
Console.Write('\u2103'); //℃ character code
}
}
คุณสมบัติ Console.OutputEncoding
http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx
โปรดทราบว่าการแสดงอักขระ Unicode ในคอนโซลสำเร็จต้องใช้สิ่งต่อไปนี้:
นอกเหนือจาก Console.OutputEncoding = System.Text.Encoding.UTF8;
สำหรับตัวละครบางตัวคุณต้องติดตั้งแบบอักษรเพิ่มเติม (เช่นภาษาจีน)
ในWindows 10อันดับแรกไปที่การตั้งค่าภูมิภาค & ภาษาและติดตั้งการสนับสนุนสำหรับภาษาที่ต้องการ:
หลังจากนั้นคุณสามารถไปที่Command Prompt Proporties (หรือค่าเริ่มต้นหากคุณต้องการ)และเลือกแบบอักษรที่รองรับภาษาของคุณ (เช่นKaiTiในภาษาจีน):
สิ่งนี้ใช้ได้กับฉัน:
Console.OutputEncoding = System.Text.Encoding.Default;
ในการแสดงสัญลักษณ์บางอย่างจำเป็นต้องตั้งแบบอักษรของ Command Prompt เป็น Lucida Console:
เปิดพรอมต์คำสั่ง;
คลิกขวาที่แถบด้านบนของพรอมต์คำสั่ง;
คลิกคุณสมบัติ
หากแบบอักษรถูกตั้งค่าเป็น Raster Fonts ให้เปลี่ยนเป็น Lucida Console
Console.OutputEncoding
ไม่สามารถตั้งค่าเป็นEncoding.Unicode
(UTF-16)Encoding.UTF8
อย่างไรก็ตามเป็นไปได้