콘솔에는 gcc Wonly의 인용 문자가 표시됩니다.

콘솔에는 gcc Wonly의 인용 문자가 표시됩니다.

Debian wheezy로 업그레이드한 후 텍스트 콘솔에 따옴표가 있어야 할 곳에 물음표가 표시됩니다.

XI에서 상황을 관점으로 보기

window.cpp:1056:21: error: base operand of ‘->’ is not a pointer

하지만 콘솔에는

window.cpp:1056:21: error: base operand of ?->? is not a pointer

해당 파일에서 따옴표를 제외한 모든 항목을 제거하고 그 주위에 xy를 넣으면(더 쉽게 찾을 수 있도록) emacs hexl-mode는 이 문자라고 알려줍니다.

 00000000: 78e2 8098 790a                           x...y.

나는 78(x), 79(y) 및 0a(LF)를 이해하지만 참조와 같은 간단한 항목에는 3개의 유니코드 바이트가 필요하다는 사실을 믿기 어렵습니다.

나도 시도했다

dpkg-reconfigure console-setup

읽을 수 없는 문자를 더 많이 생성했지만 따옴표를 올바르게 볼 수 없었습니다. 작은 따옴표와 맨페이지를 문제 없이 입력할 수 있고 모든 것이 괜찮아 보입니다. 따라서 gcc 때문인지 콘솔 때문인지는 알 수 없습니다.

답변1

멋진 따옴표 문자 ‘’는 유니코드 문자 U+2018 및 U+2019(각각 하나의 유니코드 문자)입니다. UTF-8 인코딩은 각각 e2 80 98 및 e2 80 99의 3바이트 시퀀스입니다. 왜 당신이 이것을 믿는 데 어려움을 겪는지 모르겠습니다.

분명히 귀하의 환경은 UTF-8 로케일을 나타냅니다. locale관련 환경 변수를 표시하려면 실행하세요 . 콘솔이 UTF-8을 표시하도록 설정된 것으로 보이지만 글꼴에 해당 문자가 포함되어 있지 않으므로 으로 표시됩니다 ?.

UTF-8이 아닌 로케일로 전환하면 gcc는 `->'대신 ASCII 인용부호( )를 사용합니다.

관련 정보