Windows 10 bash 터미널의 UTF8 문자


34

Windows 10에 새 bash 셸을 설치했습니다. ZSH와 함께 사용하고 있습니다. 그러나 utf8 문자는 작동하지 않으며 정사각형 블록으로 나타납니다. 쉘에서 utf8 문자 인코딩을 기본값으로 어떻게 활성화합니까? 가능합니까?


5
각 문자가 하나의 정사각형 블록으로 표시되면 UTF-8은 이미 작동하는 것입니다. 유니 코드 지원이없는 글꼴입니다.
grawity

사용 chcp 65001UTF-8 코드 페이지를 변경하고 Consolas에 글꼴 변경
phuclv을

SimSun-Ext B글꼴 로 전환했는데 모든 문자가 올바르게 표시됩니다.
Ryan Foley

5
@ grawity 나는 uubntu mono를 사용하고 있었고 지금은 consolas로 전환했습니다. 빈 사각형 상자 대신 물음표가 들어있는 사각형 상자가 나타납니다. 또한 chcp 제안을 시도했지만 속성을 확인할 때 이미 UTF-8 인코딩으로 설정되어 있습니다.
Ortix92

2
이 문제는 여전히 해결되지 않았
으며 ZSH를

답변:


11

bash 창 상단의 제목 표시 줄을 마우스 오른쪽 버튼으로 클릭하고 항목 속성을 선택하십시오. 시작 창에는 글꼴을 변경할 수있는 탭이 있습니다. 글꼴을 "Source Code Pro"및 크기 14로 변경했습니다.

좋아 보이고 모든 UTF-8 문자가 작동합니다.


이것이 정답입니다. UTF8을 지원하는 원하는 글꼴을 선택할 수 있습니다. 나는 Menlo를 설치 한 다음 bash 옵션으로 변경하는 것을 잊어 버렸습니다. 솔직히 생각조차하지 않았습니다.
StalkAlex

Windows (Source Code Pro 포함)에서 모든 기본 옵션을 시도했으며 확인 표시 문자 (✔)는 @ user3599934가 제안한 "DejaVu Sans Mono"글꼴로만 작동했습니다!
Sevron

9

Doctorj의 답변에 추가하기 위해 기본적으로 설치되는 몇 가지 글꼴이 있습니다 (Windows 10 bash 쉘에서).

테스트 언어 : 불가리아어, 우크라이나어, 중국어 간체, 중국어 번체, 덴마크어, 프랑스어, 독일어, 이탈리아어, 일본어, 카자흐어, 한국어, 마케도니아 어, 몽골어, 노르웨이어, 폴란드어, 포르투갈어, 러시아어, 세르비아어, 스페인어, 스웨덴어.

다음 기본 글꼴은 모든 관찰 문자를 표시합니다.

  • MS 고딕
  • NSimSun
    • 모든 카자흐스탄을 표시하지는 않습니다.
  • SimSun-ExtB (래스터 글꼴)-내 권장 사항

MS 고딕과 NSimSun

  • 비 라틴어 비 CJK (중국어, 일본어, 한국어) 언어 (마케도니아 어, 카자흐어, 불가리아어)를 공백으로 만듭니다.
  • 악센트가있는 라틴 문자 (á, é)에 홀수 세로 오프셋이 있습니다.
  • 마케도니아 어 문자를 하나 이상 표시하지 않았습니다.

SumSun-ExtB (래스터 글꼴) :

  • 래스터 글꼴이 제대로 표시되지 않을 수 있다는 경고 메시지가 표시됩니다.
  • 대부분의 문자는 어둡게 표시됩니다 (화면 밝기가 낮을 수 있습니다).
  • ASCII 문자가 아닌 문자는 ASCII 문자와 비교하여 밝습니다 (가능한 해결책은 굵은 체 옵션 사용).
  • 모든 언어의 문자가 서로 가까이 있습니다 (단어 사이의 간격을보기가 더 쉽습니다).
  • 비 라틴 언어가 아닌 비 CJK 언어에 대해보다 안정적인 것으로 보입니다.

이러한 글꼴 (명령 프롬프트와 PowerShell)에서 ASCII가 아닌 문자를 클릭하면 이상한 일이 발생하지만 텍스트를 강조 표시하면 원래 문자로 돌아갑니다.

글꼴을 설치하려면 : bash를 통한 Linux 방식이 아니라 사용중인 Windows 셸 (예 : 명령 프롬프트 또는 PowerShell)의 글꼴을 변경해야합니다. 이 링크는 명령 프롬프트에서 사용할 수있는 글꼴 (모노 스페이스 글꼴 및 명령 프롬프트의 글꼴을 설치하고 선택하는 방법)에 대해 설명 합니다. 명령 프롬프트에 글꼴 추가

  • 레지스트리 편집기를 불러옵니다 ( "regedit"실행).
  • HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Console \ TrueTypeFont 폴더를 찾으십시오.
  • 마우스 오른쪽 버튼을 클릭 (또는 편집)-> 새로 만들기-> 문자열 값
  • 마지막 글꼴보다 0이 더 많은 글꼴 이름을 지정하십시오 (예 : "000").
  • 항목을 마우스 오른쪽 버튼으로 클릭하고 "수정 ..."을 선택하십시오.
  • 글꼴 또는 OTF 파일의 이름을 입력하십시오 (.otf 제외).

Windows에서 명령 행을 통한 글꼴 설치에 대한 정보는 이 질문과 답변을 참조하십시오.

  • "Source Code Pro"를 설치하려고했지만 글꼴로 표시되지 않았습니다.
  • DejaVu Sans Mono를 설치했는데 대부분의 언어에서는 작동하지만 CJK에서는 전혀 작동하지 않습니다.
  • Google의 Noto 모노 스페이스 글꼴을 설치했지만 CJK에서는 작동하지 않습니다. 또한 그들은 특히 CJK에 대한 단일 공간 지원이 없다고 말합니다.
  • Google의 Inconsolata를 설치했지만 시도해 볼 가치가 없었습니다.
  • GNU FreeFont (FreeMono)를 설치했는데 CJK에서는 작동하지 않았습니다.
  • 나는 포기하고 SimSun-ExtB로 돌아갔다.

(참고 : 아직 링크를 게시 할만 큼 평판이 충분하지 않습니다).


6

DejaVu Sans Mono를 사용해 볼 수 있습니다.


11
이것이 OP의 문제에 대한 해결책 일지 모르지만, 그것은 고품질의 대답보다 힌트입니다. 1) Windows 10 Bash 터미널의 글꼴을 변경하는 방법; 2) 해당 글꼴을 설치하는 방법 (기본적으로 모든 Windows 10에 포함되어 있지 않는 한 Linux에 있습니다. 모름).
Kamil Maciorowski

1
전에 우분투 모노를 사용했는데 문제가있었습니다. DejaVu Sans Mono가이 문제를 해결했습니다.
smonff

0

이것은 실제로 답변보다 더 많은 의견이지만 SE는 내가 의견을 말할 수 없기 때문에 ...

충분한 정보를 제공하지 않았습니다. 유니 코드는 백만 개가 넘는 문자를 제공하며 그 중 10 만 개가 정의되었습니다. (남은 문자는 외계인과 접촉 할 때, 또는 아직 인코딩되지 않은 Earthlings의 글쓰기 시스템 일 가능성이 높습니다.) 150 개 스크립트 (라틴어, 키릴 자모, 아랍어, 중국어)로 나뉩니다. 모든 문자에 대한 글리프 (문자 그림)를 제공합니다. (코드 포인트가있는 상자를 제공하는 1-2 개가 있지만 원하는 것은 아닙니다.)

2 년 전 grawity가 말했듯이, 단일 문자를 기대할 수있는 상자를 얻는다면 애플리케이션은 이미 유니 코드 (아마도 UTF-8 인코딩의 유니 코드)를 표시하고 있습니다. 부족한 것은 표시하려는 모든 스크립트에 글리프를 제공하는 글꼴입니다. 러시아어를 표시하는 경우 키릴 문자가있는 글꼴이 필요합니다. 중국어를 표시하려면 해당 문자가 포함 된 글꼴이 필요합니다. (이러한 대부분의 글꼴은 영어에 사용되는 종류 인 라틴 문자도 표시하지만 반드시 예쁘지는 않습니다.)

그래서 당신을위한 내 질문은 : 어떤 스크립트를 표시하려고합니까? 우리가 알 때까지 모든 대답은 추측이 될 것입니다.

BTW에는 꽤 복잡한 스크립트가 있으며 올바른 글꼴이 있더라도 일부 프로그램 만 올바르게 표시합니다. 이 중에는 버마어, 일부 인도어 스크립트 (예 : 데바 나가리) 및 아랍어 (오른쪽에서 왼쪽으로 작성되며 인접한 문자에 따라 다르게 표시되어야하는 문자가 있음)가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.