Odpowiedzi:
Naprawdę niezawodnym sposobem na przetestowanie jest pobranie pliku tekstowego i umieszczenie go w terminalu i sprawdzenie, czy wszystko wygląda dobrze.
lub, jeśli możesz, ponownie skompiluj terminal, włączając opcję Unicode (zakładając, że ma taką opcję).
jak wyglądają $ TERM i $ LANG?
Wpisz to w swoim terminalu:
echo -e '\xe2\x82\xac'
Jeśli twój terminal obsługuje UTF-8, wyświetli znak euro:
€
Najgorszy sposób: uruchom następujące i sprawdź dane wyjściowe. Będzie to wielka litera O z daszkiem, jeśli terminal wyświetli UTF-8.
perl -le 'print "\x{c3}\x{94}"'
perl -CO -le 'print "\x{d4}"'
Najpewniejszym sposobem na ogień jest użycie polecenia „locale”. Wydrukuje wszystkie różne i różne zmienne, które określają, jakiego zestawu znaków użyć. Na przykład, to jest moje wyjście na RHEL5.3, ustawione tak, aby domyślnie używało tylko UTF-8.
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
Możesz po prostu użyć następującego polecenia:
locale charmap
curl http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
lub
wget -O - http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt
To oczywiście wymaga wget
lub curl
.
UTF=$(echo -e "\u263A")
if [[ ! "$UTF" =~ "A" ]] ; then
echo -n "UNICODE here!"
fi
echo
wbudowane obsługuje \u
.