Ekran GNU nie wyświetla poprawnych znaków Unicode


14

Kiedy to zrobię w moim terminalu:

echo -e "\xF0\x9f\x8d\xba"

Dostaję fajny kufel do piwa w moim terminalu: 🍺

Jednak gdy uruchamiam ekran i próbuję tego samego, otrzymuję . Jak zdobyć ładny kufel do piwa?

To jest mój .screenrc:

nethack on
startup_message off
defscrollback 3000
hardstatus on
hardstatus alwayslastline
hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %c"
termcapinfo xterm 'bc@:bs@'
ignorecase on
maptimeout 0
vbell off
defutf8 on
defencoding utf8

Również uruchamianie ekranu z -Uopcją nie pomaga.


to U + FFFD, znak zastępujący Unicode. Oznacza to, że komputer nie rozpoznaje znaku, który bajty próbują reprezentować. Czy przypadkiem podczas tych testów zmieniasz terminal fizyczny na emulator terminala?
Andrew B

Kiedy robię to w moim terminalu bez ekranu startowego, działa, kiedy uruchamiam ekran i robię to samo, nie działa. Jest na tej samej maszynie i na tym samym terminalu. Cały czas używam emulatora terminala.
gitaarik

jakiego emulatora terminala używasz?
dawud

Odpowiedzi:


20

Jest to pozornie znany błąd : nie są wyświetlane żadne znaki poza BMP , ponieważ ekran najwyraźniej ma tylko dwubajtowy bufor znaków.

(Działa w tmux).


To jest bummer .. Próbowałem tmux w przeszłości, ale wiele się zawiesiło. Może mógłbym spróbować jeszcze raz ...
gitaarik

Aktualizacja Btw: Jestem na Tmuxie od dłuższego czasu i uwielbiam to. Prawie nigdy nie ulega awarii i ma doskonałą konfigurowalność oraz wtyczki. Minęło trochę czasu, aby go skonfigurować, aby było miło pracować, ale na pewno warto spróbować :).
gitaarik 21.04.16

6
Aktualizacja: błąd został naprawiony od wersji 4.2.0! sudo apt install screen=4.2.1-2~ubuntu14.04.1pracował dla mnie.
Adam Monsen,

Warto zauważyć, że znaki Unicode nie działają na twardym ekranie GNU, nawet w wersji 4.6.2-1ubuntu1na Lubuntu Bionic Beaver (18.04).
zrajm
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.