Câu trả lời:
Chắc chắn (nó bị giới hạn về số lượng glyphs, nhưng có vẻ như miền địa phương của bạn đang sử dụng mã hóa UTF-8).
Tôi sử dụng điều này để thử nghiệm:
#!/bin/sh
# send character-string to enable UTF-8 mode
if test ".$1" = ".off" ; then
printf '\033%%@'
else
printf '\033%%G'
fi
và (gọi nó là "utf8"), "utf8 bật" bật mã hóa.
Sử dụng ví dụ được cung cấp với pstree
, đây là một ví dụ sau khi chạy tập lệnh (trước đó, cùng loại đầu ra như trong câu hỏi):
Như đã lưu ý trong một bình luận, có một kịch bản unicode_start
làm được nhiều hơn , nhưng tất cả những gì cần thiết để giải quyết câu hỏi được đặt ra là kịch bản nhỏ được sử dụng làm ví dụ.
Giải quyết một nhận xét khác: Ít nhất là trên hệ thống của tôi (và trong ảnh chụp màn hình hiển thị trong câu hỏi), tất cả các ký tự được sử dụng pstree
được cung cấp trong phông chữ 512 glyph được sử dụng theo mặc định để hỗ trợ Unicode trong bảng điều khiển Linux.
Đọc thêm:
Kiểm tra xem bạn đã locales
cài đặt gói chưa
dpkg -l locales
Nếu không, cài đặt nó
apt-get install locales
Là root, gõ
dpkg-reconfigure locales
bạn có thể điều hướng danh sách đó bằng các phím mũi tên lên / xuống, ví dụ chọn en_US-UTF-8
chỉnh sửa của bạn .bashrc
bằng cách thêm các dòng sau:
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
Chạy locale
lệnh, đầu ra phải tương tự như thế này ::
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Đặt CHARMAP=UTF8
trong /etc/default/console-setup
.
Chạy systemctl daemon-reload && systemctl restart console-setup.service
sau đó.