왜 국가(폴란드) 문자가 직렬 tty를 통해 화면의 bash에 표시되지 않습니까?

왜 국가(폴란드) 문자가 직렬 tty를 통해 화면의 bash에 표시되지 않습니까?

우리는 tty를 통해 장치에 원격으로 로그인하기 위해 스크린 애플리케이션을 사용합니다. 국가키 조합을 누르면 화면만 깜빡거리고 출력이 안되네요. 그러나 동일한 bash 콘솔에서 작성한 간단한 애플리케이션을 실행하면 다음과 같은 결과가 나타납니다.

root#0000:~# ./charcode 
ł
Got char c: C5
Got char c: 82
Got char c: 0A
^C
root#0000:~# 

그러면 내가 이렇게 할 때:

root#0000:~# echo -e '\xC5\x82'
ł
root#0000:~#

간단한 애플리케이션의 소스 코드는 다음과 같습니다.

#include <stdio.h>

int main()
{
    int c;

    while((c=getchar())!=EOF) {
        printf("Got char c: %02X\n", (unsigned char)c);
    }

    return 0;
}

bash에 국가(폴란드) 문자가 표시되지 않는 이유는 무엇입니까?

답변1

데비안에는 버그가 있으며 모든 파생 제품(예: 우분투 등)을 살펴보세요.여기.

이 오류를 해결하려면:

rm /etc/console-setup/*.gz && setupcon --save-only

그러면 아래의 버그 라인이 변경됩니다.

/etc/console-setup/cached_setup_keyboard.sh
-loadkeys '/tmp/tmpkbd.iDWdSi' > '/dev/null'
+loadkeys '/etc/console-setup/cached_UTF-8_del.kmap.gz' > '/dev/null'

관련 정보