Je me demandais s'il était possible, dans une application console, d'écrire des caractères comme l' ℃
utilisation de .NET. Lorsque j'essaye d'écrire ce caractère, la console affiche un point d'interrogation.
150
Je me demandais s'il était possible, dans une application console, d'écrire des caractères comme l' ℃
utilisation de .NET. Lorsque j'essaye d'écrire ce caractère, la console affiche un point d'interrogation.
Il est probable que votre encodage de sortie soit défini sur ASCII. Essayez d'utiliser ceci avant d'envoyer la sortie:
Console.OutputEncoding = System.Text.Encoding.UTF8;
( Lien MSDN vers la documentation de support.)
Et voici une petite application de test de console que vous trouverez peut-être utile:
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
Il est également possible que votre choix de police de console ne prenne pas en charge ce caractère particulier. Cliquez sur le menu de la barre d'outils Windows (icône comme C :.) et sélectionnez Propriétés -> Police. Essayez d'autres polices pour voir si elles affichent correctement votre personnage:
Console.OutputEncoding
ne peut pas être réglé surEncoding.Unicode
(UTF-16).Encoding.UTF8
, cependant, est possible.J'ai trouvé une solution élégante sur MSDN
Ce programme simple écrit ℃ directement sur l'écran.
la source
Console.OutputEncoding, propriété
http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx
Notez que l'affichage réussi des caractères Unicode sur la console nécessite les éléments suivants:
la source
outre
Console.OutputEncoding = System.Text.Encoding.UTF8;
pour certains caractères, vous devez installer des polices supplémentaires (c'est-à-dire chinois).
Dans Windows 10, accédez d'abord aux paramètres de région et de langue et installez la prise en charge de la langue requise:
Après cela, vous pouvez accéder aux proportions d'invite de commande (ou aux valeurs par défaut si vous le souhaitez) et choisir une police qui prend en charge votre langue (comme KaiTi en chinois):
Vous êtes maintenant prêt à partir:
la source
Cela fonctionne pour moi:
Console.OutputEncoding = System.Text.Encoding.Default;
Pour afficher certains des symboles, il est nécessaire de définir la police de l'invite de commande sur Lucida Console:
Ouvrez l'invite de commande;
Cliquez avec le bouton droit sur la barre supérieure de l'invite de commande;
Cliquez sur Propriétés;
Si la police est définie sur Polices raster, remplacez-la par Lucida Console.
la source