Làm cách nào tôi có thể kích hoạt hỗ trợ UTF-8 trong bảng điều khiển Linux?


12

Ngay bây giờ, nó trông như thế này:

nhập mô tả hình ảnh ở đây


đó là thiết bị đầu cuối mã văn bản 80x25 thực, vì vậy bạn không thể sử dụng hơn 256 ký tự. Sử dụng bảng điều khiển bộ đệm khung nếu bạn muốn utf-8 thực sự.
Ipor Sircer

Câu trả lời:


6

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 chụp màn hình sau khi "utf8 trên"

Như đã lưu ý trong một bình luận, có một kịch bản unicode_startlà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:


3
Người hỏi dường như đang chạy Debian 7. Nó có unicode_starttrong gói của nókbd , nó không hơn một chút so với tập lệnh của bạn.
JdeBP

13

Kiểm tra xem bạn đã localescà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 .bashrcbằ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 localelệ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=

2
Tôi đã cài đặt gói - Tôi nghĩ rằng nó được mặc định với Debian Wheezy. Chỉ là bàn điều khiển không ở chế độ UTF-8.
Mihai

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.