Como escrever caracteres Unicode no console?

Eu queria saber se era possível, em um aplicativo de console, escrever caracteres como usando o .NET. Quando tento escrever esse caractere, o console exibe um ponto de interrogação.

É provável que sua codificação de saída esteja configurada para ASCII. Tente usar isso antes de enviar a saída:

 Console.OutputEncoding = System.Text.Encoding.UTF8; 

( Link do MSDN para documentação de suporte.)

E aqui está um pequeno aplicativo de teste de console que você pode achar útil:

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 

Também é possível que sua escolha de fonte do console não suporte esse caractere específico. Clique no menu da barra de ferramentas do Windows (ícone como C :.) e selecione Propriedades -> Fonte. Tente algumas outras fonts para ver se elas exibem seu caractere corretamente:

imagem da edição da fonte do console

Propriedade Console.OutputEncoding

http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx

Observe que exibir com êxito caracteres Unicode no console requer o seguinte:

  • O console deve usar uma fonte TrueType, como o Lucida Console ou Consolas, para exibir caracteres

Eu encontrei algumas soluções elegantes no MSDN

 System.Console.Write('\uXXXX') //XXXX is hex Unicode for character 

Este programa simples escreve ℃ diretamente na canvas.

 using System; public class Test { public static void Main() { Console.Write('\u2103'); //℃ character code } }