Ich habe mich gefragt, ob es in einer Konsolenanwendung möglich ist, Zeichen wie ℃
mit .NET zu schreiben . Wenn ich versuche, dieses Zeichen zu schreiben, gibt die Konsole ein Fragezeichen aus.
150
Ich habe mich gefragt, ob es in einer Konsolenanwendung möglich ist, Zeichen wie ℃
mit .NET zu schreiben . Wenn ich versuche, dieses Zeichen zu schreiben, gibt die Konsole ein Fragezeichen aus.
Es ist wahrscheinlich, dass Ihre Ausgabecodierung auf ASCII eingestellt ist. Versuchen Sie dies, bevor Sie eine Ausgabe senden:
Console.OutputEncoding = System.Text.Encoding.UTF8;
(MSDN- Link zur unterstützenden Dokumentation.)
Und hier ist eine kleine Konsolentest-App, die Sie vielleicht nützlich finden:
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
Es ist auch möglich, dass Ihre Wahl der Konsolenschriftart dieses bestimmte Zeichen nicht unterstützt. Klicken Sie auf das Windows-Symbolleistenmenü (Symbol wie C:.) Und wählen Sie Eigenschaften -> Schriftart. Probieren Sie einige andere Schriftarten aus, um festzustellen, ob sie Ihren Charakter richtig anzeigen:
Console.OutputEncoding
kann nicht aufEncoding.Unicode
(UTF-16) gesetzt werden.Encoding.UTF8
ist jedoch möglich.Ich habe auf MSDN eine elegante Lösung gefunden
Dieses einfache Programm schreibt ℃ direkt auf den Bildschirm.
quelle
Console.OutputEncoding-Eigenschaft
http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx
Beachten Sie, dass für die erfolgreiche Anzeige von Unicode-Zeichen auf der Konsole Folgendes erforderlich ist:
quelle
Außerdem
Console.OutputEncoding = System.Text.Encoding.UTF8;
Für einige Zeichen müssen Sie zusätzliche Schriftarten installieren (z. B. Chinesisch).
In Windows - 10 gehen zuerst Region & Spracheinstellungen und installieren Sie die Unterstützung für gewünschte Sprache:
Danach können Sie zu Eingabeaufforderungsproportionen (oder Standardeinstellungen, wenn Sie möchten ) gehen und eine Schriftart auswählen, die Ihre Sprache unterstützt (wie KaiTi im chinesischen Fall):
Jetzt können Sie loslegen:
quelle
Das funktioniert bei mir:
Console.OutputEncoding = System.Text.Encoding.Default;
Um einige der Symbole anzuzeigen, muss die Schriftart der Eingabeaufforderung auf Lucida Console eingestellt werden:
Eingabeaufforderung öffnen;
Klicken Sie mit der rechten Maustaste auf die obere Leiste der Eingabeaufforderung.
Klicken Sie auf Eigenschaften.
Wenn die Schriftart auf Rasterschriftarten eingestellt ist, ändern Sie sie in Lucida Console.
quelle