Câu trả lời:
Tôi đặt cài đặt liên quan đến ngôn ngữ sau đây /etc/bashrc
(cho tất cả người dùng, bash
):
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_COLLATE=C
export LC_CTYPE=en_US.UTF-8
sau đó chạy:
source /etc/bashrc
hoặc đăng xuất và đăng nhập.
lang.sh
và nó hoạt động.
Chạy
yum reinstall glibc-common
và sau đó đảm bảo rằng không có quá trình nào xóa các tệp /usr/lib/locale/locale-archive.*.
glibc-langpack-<language>
, ví dụ glibc-langpack-en
.
Tôi đã nhận được cùng một lỗi trên MacOS. Khi bạn ssh đến một hộp linux, họ từ chối thiết lập UTF-8
ngôn ngữ. Bạn có thể thấy sự khác biệt trong cài đặt ngôn ngữ bằng cách chạy locale
lệnh trên thiết bị đầu cuối MacOS và hộp Linux của bạn.
Để khắc phục lỗi này, hãy mở terminal -> Preferences -> profile -> Advanced và unset Set locale environment variables on startup
trên máy mac của bạn.
Bây giờ khi bạn chạy locale
trên mac. bạn có thể thấy rằng sự thay đổi này đã đặt ra LC_CTYPE="C"
đó là LC_CTYPE="UTF-8"
với cài đặt trước đó.
bạn sẽ phải đóng thiết bị đầu cuối của mình để có hiệu ứng này và bây giờ đăng nhập vào hộp linux của bạn và chạy yum update
.
Hy vọng nó giúp :)
Nếu bạn đã sử dụng SSH để kết nối với máy chủ này từ máy tính để bàn, thì /etc/ssh/sshd_config
việc 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. Tuy nhiên, điều này sẽ khiến các biến cục bộ được đặt trở lại trống trong phiên SSH của bạn trên máy chủ mà bạn đang định cấu hình, nếu ngôn ngữ đó trước tiên không được đặt chính xác TRÊN MÁY MÔ TẢ CỦA BẠN .
Sửa chữa:
Ví dụ: trong cửa sổ Windows 10 Ubuntu Shell, trước tiên hãy làm ( LƯU Ý: thay đổi tất cả các mục bên dưới để khớp với ngôn ngữ của bạn nếu đó không phải là "en_US.UTF-8" ):
sudo locale-gen en_US.UTF-8
sudo dpkg-reconfigure locales
Sau đó, đóng cửa sổ shell Ubuntu và mở lại, sau đó SSH vào máy chủ mà bạn đang cố gắng định cấu hình và xem mọi thứ đã ổn chưa ...
Nếu không, hãy SSH vào máy chủ của bạn và thực hiện:
vi /etc/profile.d/custom.lang.sh
Sau đó nhấn I
để vào chế độ "chèn". Sau đó dán các mục dưới đây. Sau đó ZZ
để lưu và thoát:
## US English ##
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
Sau đó thực hiện như sau:
source /etc/profile.d/lang.sh
source /etc/profile.d/custom.lang.sh
Sau đó:
reboot
Xem nếu điều đó làm cho tất cả mọi thứ ngừng phàn nàn về vars địa phương!
/etc/profile.d/lang.sh
và không/etc/bashrc
có khả năng bị ghi đè bởi một bản cập nhật.