Hệ điều hành của bạn không biết về en_US.UTF-8
.
Bạn đã không đề cập đến một nền tảng cụ thể, nhưng tôi có thể tái tạo vấn đề của bạn:
% uname -a
OSF1 hunter2 V5.1 2650 alpha
% perl -e thoát
perl: cảnh báo: Cài đặt ngôn ngữ không thành công.
perl: cảnh báo: Vui lòng kiểm tra xem cài đặt ngôn ngữ của bạn:
LC_ALL = (bỏ đặt),
LANG = "en_US.UTF-8"
được hỗ trợ và cài đặt trên hệ thống của bạn.
perl: cảnh báo: Rơi trở lại miền địa phương tiêu chuẩn ("C").
Tôi đoán là bạn đã sử dụng ssh để kết nối với máy chủ cũ này từ một máy tính để bàn mới hơn. Nó là phổ biến /etc/ssh/sshd_config
để chứa
AcceptEnv LANG LC_*
cho phép khách hàng tuyên truyền các giá trị của các biến môi trường đó thành các phiên mới.
Cảnh báo cung cấp cho bạn một gợi ý về cách squelch nó nếu bạn không yêu cầu địa điểm đầy đủ:
% env LANG = C perl -e thoát
%
hoặc với bash:
$ LANG = C perl -e thoát
$
Để sửa lỗi vĩnh viễn, chọn một trong
- Trên máy chủ cũ hơn, đặt
LANG
biến môi trường trong tệp khởi tạo shell của bạn.
- Sửa đổi môi trường của bạn ở phía máy khách, ví dụ , thay vì
ssh hunter2
sử dụng lệnh LANG=C ssh hunter2
.
- Nếu bạn có quyền quản trị, hãy ngăn ssh gửi các biến môi trường bằng cách nhận xét
SendEnv LANG LC_*
dòng trong tệp cục bộ /etc/ssh/ssh_config
. (Nhờ câu trả lời này . Xem Bug 1285 để biết thêm về OpenSSH.)