[C#] 콘솔에 유니 코드 문자를 쓰는 방법?

콘솔 응용 프로그램에서 .NET을 사용하는 것과 같은 문자를 작성할 수 있는지 궁금합니다 . 이 문자를 쓰려고하면 콘솔이 물음표를 출력합니다.



답변

출력 인코딩이 ASCII로 설정되었을 수 있습니다. 출력을 보내기 전에 이것을 사용해보십시오 :

Console.OutputEncoding = System.Text.Encoding.UTF8;

( 지원 문서에 대한 MSDN 링크 )

다음은 편리한 콘솔 테스트 앱입니다.

씨#

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

선택한 콘솔 글꼴이 특정 문자를 지원하지 않을 수도 있습니다. Windows 도구 모음 메뉴 (C :와 같은 아이콘)를 클릭하고 속성-> 글꼴을 선택하십시오. 다른 글꼴을 사용하여 문자가 올바르게 표시되는지 확인하십시오.

콘솔 글꼴 그림 편집


답변

MSDN에서 우아한 솔루션을 찾았습니다.

System.Console.Write('\uXXXX') //XXXX is hex Unicode for character

이 간단한 프로그램은 ℃를 화면에 바로 쓴다.

using System;

public class Test
{
    public static void Main()
    {
        Console.Write('\u2103'); //℃ character code
    }
}


답변

Console.OutputEncoding 속성

http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx

콘솔에 유니 코드 문자를 성공적으로 표시하려면 다음이 필요합니다.

  • 콘솔은 문자를 표시하기 위해 Lucida 콘솔 또는 Consolas와 같은 트루 타입 글꼴을 사용해야합니다

답변

게다가 Console.OutputEncoding = System.Text.Encoding.UTF8;

일부 문자의 경우 추가 글꼴 (예 : 중국어)을 설치해야합니다.

에서 윈도우 10 첫째로 이동 지역 및 언어 설정 및 필요한 언어에 대한 지원을 설치 :
여기에 이미지 설명을 입력하십시오

그런 다음 명령 프롬프트 Proporties (또는 원하는 경우 기본값)로 이동 하여 언어를 지원하는 글꼴 ( 중국의 경우 KaiTi 등 ) 을 선택할 수 있습니다 .
여기에 이미지 설명을 입력하십시오

이제 갈 준비가되었습니다 :
여기에 이미지 설명을 입력하십시오


답변

이것은 나를 위해 작동합니다 :

Console.OutputEncoding = System.Text.Encoding.Default;

일부 기호를 표시하려면 명령 프롬프트의 글꼴을 Lucida Console로 설정해야합니다.

  1. 명령 프롬프트를 엽니 다.

  2. 명령 프롬프트의 상단 막대를 마우스 오른쪽 버튼으로 클릭하십시오.

  3. 속성을 클릭하십시오.

  4. 글꼴이 래스터 글꼴로 설정된 경우 Lucida Console로 변경하십시오.


답변