mã hóa ssh và ký tự


16

Khi tôi sshvào VPS, tôi đã irssichạy trên màn hình. Khi ai đó gửi một ký tự unicode (chẳng hạn như © hoặc €), irssisẽ hiển thị rác khi tôi sử dụng nó qua màn hình trong một sshphiên. Nếu tôi kết nối với điều đóirssi bằng mô-đun proxy của irssi, từ irssi chạy trên máy tính cục bộ của tôi, nó sẽ hiển thị chính xác.

Tương tự, nếu tôi chạy ghci trên VPS của mình (bên ngoài màn hình) và nhập một trong những ký tự đó, nó sẽ gặp sự cố.

Vì vậy, rõ ràng, có một vấn đề mã hóa ký tự nào đó với kết nối của tôi với VPS của tôi, trong cài đặt ssh hoặc hệ thống.

Làm thế nào tôi có thể tìm ra những gì gây ra điều này, và giải quyết nó?

Chi tiết:

Hệ thống khách hàng

  • Arch Linux x64
  • Mã hóa UTF-8

Hệ thống VPS

  • Máy chủ Ubuntu 10.04
  • Mã hóa không xác định được sử dụng. Làm thế nào để tôi tìm thấy điều này? (Tôi chỉ cần tìm trong /etc/rc.conf cho Arch)

Câu trả lời:


18

Chạy localelệnh sẽ cung cấp cho bạn thông tin về cài đặt ngôn ngữ của bạn; mã hóa ký tự được đưa ra bởiLC_CTYPE cài đặt.

Trong Ubuntu, cài đặt ngôn ngữ mặc định được đưa ra /etc/default/locale. Bạn có thể thay đổi mã hóa ký tự bằng cách thiết lập LC_CTYPEtrong của bạn ~/.profiletrên VPS, ví dụ

export LC_CTYPE=en_US.UTF-8

Bạn sẽ phải đảm bảo rằng en_US.UTF-8miền địa phương có sẵn. Ubuntu chỉ tạo dữ liệu miền địa phương cho các địa phương được yêu cầu. Tất cả các ngôn ngữ tiếng Anh nên có sẵn nếu bạn đã language-pack-en-basecài đặt gói . Bạn có thể tự yêu cầu thế hệ của họ với

sudo locale-gen en

Bạn cũng có thể thêm các mục để /var/lib/locales/supported.d/localđảm bảo một ngôn ngữ cụ thể được cài đặt (ví dụ: thêm dòng en_US.UTF-8 UTF-8).


3

thực tế, giá trị được đưa ra trong LC_CTYPE là tên miền địa phương . Theo thông lệ, nhưng không bắt buộc, mã hóa bộ ký tự phải có trong tên.

Nhưng nếu bạn muốn biết, chắc chắn, bộ ký tự, thì lệnh là locale -k charmap.

~$ LC_CTYPE=C locale -k charmap
charmap="ANSI_X3.4-1968"
~$ LC_CTYPE=fr_BE locale -k charmap
charmap="ISO-8859-1"

(lưu ý cách bộ ký tự không xuất hiện trên các giá trị LC_TYPE ở trên).

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.