Символ валюты не отображается в окне консоли
Я пытаюсь напечатать сумму с символом валюты в окне консоли:
string cultureCode = "hi-IN";//"it-IT";
decimal amount = 123.54M;
CultureInfo cultureInfo = new CultureInfo(cultureCode);
string strAmout=String.Format(cultureInfo, "{0:C}",amount);
Console.OutputEncoding = System.Text.Encoding.UTF8;
Console.WriteLine(strAmout);
Сумма отображается правильно в окне просмотра, но не в окне консоли.
Ответы
Ответ 1
Это по дизайну.
Консольное окно отображается с использованием специального шрифта (Lucida Console, Consolas и т.д.).
Для этого шрифта не требуется символ для вашей валюты, поэтому символ может отображаться некорректно.
UPDATE
Согласно эта ссылка, знак rupee не поддерживается в шрифте Lucida Console
.
В соответствии с эта ссылка, она поддерживается шрифтом Consolas
.
Ответ 2
Кодировка, которую вы используете для вывода, может не включать эти символы валюты.
попробуйте настроить выходную кодировку вашей консоли на ту, которая поддерживает символ валюты:
Console.OutputEncoding = System.Text.Encoding.UTF8