Подтвердить что ты не робот

Символ валюты не отображается в окне консоли

Я пытаюсь напечатать сумму с символом валюты в окне консоли:

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);

Сумма отображается правильно в окне просмотра, но не в окне консоли.

4b9b3361

Ответ 1

Это по дизайну.

Консольное окно отображается с использованием специального шрифта (Lucida Console, Consolas и т.д.).
Для этого шрифта не требуется символ для вашей валюты, поэтому символ может отображаться некорректно.

UPDATE

Согласно эта ссылка, знак rupee не поддерживается в шрифте Lucida Console.

В соответствии с эта ссылка, она поддерживается шрифтом Consolas.

Ответ 2

Кодировка, которую вы используете для вывода, может не включать эти символы валюты.

попробуйте настроить выходную кодировку вашей консоли на ту, которая поддерживает символ валюты:

Console.OutputEncoding = System.Text.Encoding.UTF8