Zastanawiałem się, czy w aplikacji konsolowej można pisać znaki, takie jak ℃
przy użyciu .NET. Kiedy próbuję napisać ten znak, konsola wyświetla znak zapytania.
150
Zastanawiałem się, czy w aplikacji konsolowej można pisać znaki, takie jak ℃
przy użyciu .NET. Kiedy próbuję napisać ten znak, konsola wyświetla znak zapytania.
Prawdopodobnie kodowanie wyjściowe jest ustawione na ASCII. Spróbuj użyć tego przed wysłaniem wyniku:
Console.OutputEncoding = System.Text.Encoding.UTF8;
( Łącze MSDN do dokumentacji pomocniczej).
A oto mała aplikacja do testowania konsoli, która może Ci się przydać:
DO#
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
Możliwe jest również, że wybrana czcionka Console nie obsługuje tego konkretnego znaku. Kliknij menu paska narzędzi systemu Windows (ikona taka jak C :.) i wybierz Właściwości -> Czcionka. Wypróbuj inne czcionki, aby sprawdzić, czy poprawnie wyświetlają Twój znak:
Console.OutputEncoding
nie można ustawić naEncoding.Unicode
(UTF-16).Encoding.UTF8
jest jednak możliwe.Znalazłem eleganckie rozwiązanie w MSDN
Ten prosty program zapisuje ℃ bezpośrednio na ekranie.
źródło
Console.OutputEncoding Właściwość
http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx
Zwróć uwagę, że pomyślne wyświetlanie znaków Unicode na konsoli wymaga następujących elementów:
źródło
Oprócz
Console.OutputEncoding = System.Text.Encoding.UTF8;
w przypadku niektórych znaków należy zainstalować dodatkowe czcionki (np. chińskie).
W systemie Windows 10 najpierw przejdź do Ustawienia regionu i języka i zainstaluj obsługę wymaganego języka:
Następnie możesz przejść do opcji Proporcje wiersza polecenia (lub Domyślne, jeśli chcesz) i wybrać czcionkę obsługującą Twój język (na przykład KaiTi w przypadku chińskim):
Teraz jesteś gotowy:
źródło
To działa dla mnie:
Console.OutputEncoding = System.Text.Encoding.Default;
Aby wyświetlić niektóre symbole, należy ustawić czcionkę wiersza polecenia na Lucida Console:
Otwórz wiersz polecenia;
Kliknij prawym przyciskiem myszy górny pasek wiersza polecenia;
Kliknij Właściwości;
Jeśli czcionka jest ustawiona na Czcionki rastrowe, zmień ją na Lucida Console.
źródło