Làm thế nào để sửa lỗi miền địa phương


11

Tôi vừa mới cài đặt Ubuntu debootstrap. Khi tôi làm sudo aptitude upgrade, tôi nhận được thông báo lỗi này:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = (unset),
    LANG = "en_US.ISO-8859-1"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

Ai đó có thể vui lòng cho tôi biết làm thế nào để giải quyết vấn đề này? Tôi thấy rất nhiều bài đăng tương tự như trên mạng nhưng không ai trong số họ dường như giải quyết vấn đề.

Tôi đang sử dụng Ubuntu 14.04 LTS. Cảm ơn.


Tài chính

$ locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.iso88591
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX

$ locale
LANG=en_US.ISO-8859-1
LANGUAGE=en_US:en
LC_CTYPE="en_US.ISO-8859-1"
LC_NUMERIC="en_US.ISO-8859-1"
LC_TIME="en_US.ISO-8859-1"
LC_COLLATE="en_US.ISO-8859-1"
LC_MONETARY="en_US.ISO-8859-1"
LC_MESSAGES="en_US.ISO-8859-1"
LC_PAPER="en_US.ISO-8859-1"
LC_NAME="en_US.ISO-8859-1"
LC_ADDRESS="en_US.ISO-8859-1"
LC_TELEPHONE="en_US.ISO-8859-1"
LC_MEASUREMENT="en_US.ISO-8859-1"
LC_IDENTIFICATION="en_US.ISO-8859-1"
LC_ALL=

1
Điều này đã được trả lời ở đây đã askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue Tóm tắt: define LC_ALL on / etc / default / locale
h7r

Câu trả lời:


6

Các debootstrapkhông tạo ra một miền địa phương. Vì vậy, chúng tôi sử dụng một cái gì đó khác như một miền địa phương. Sử dụng lệnh này:

sudo locale-gen en_US.ISO-8859-1

Tôi hi vọng cái này giúp được!


Không, aptitudelà hợp lệ quá. Câu trả lời của bạn sẽ không đưa ra bất kỳ thay đổi nào cho OP.
Danatela

2
Mặc dù điều đó có thể giải quyết lỗi ngôn ngữ, nhưng nó cung cấp cho bạn một hệ thống với mã hóa latin1, không phù hợp trên Ubuntu.
Gunnar Hjalmarsson

Ngoài ra, trong ~/.kde.env/setlocale.sh, bạn đã đặtexport LANG=en_US.UTF-8
user1527227

11

Một máy tính để bàn Ubuntu nên được thiết lập với mã hóa UTF-8. Vì một số lý do, hệ thống của bạn cố gắng đặt ngôn ngữ latin1 en_US.ISO-8859-1. Bạn nên thực sự thay đổi điều đó.

Có lẽ các thiết lập diễn ra trong /etc/default/locale.

Khi nó xảy ra, thay đổi nó thành

LANG=en_US.UTF-8

nếu không bạn sẽ gặp những bất ngờ liên quan đến địa phương.


Bạn có chắc chắn đó là một trong những để sử dụng? Làm sao bạn biết?
dùng1527227

@ user1527227: Vâng, gần như vậy. ;) Bởi vì AFAIK en_US.UTF-8được tạo trước trên mọi máy tính để bàn Ubuntu. Nhưng bạn có thể dễ dàng kiểm tra nó bằng cách chạy locale -alệnh. Sẽ tốt hơn nếu bạn chỉnh sửa câu hỏi và thêm đầu ra của lệnh đó.
Gunnar Hjalmarsson

tôi đã thêm thông tin bạn yêu cầu.
dùng1527227

1
@ user1527227: Ok, và ở đó chúng ta có thể thấy en_US.utf8trong locale -ađầu ra. Lời khuyên của tôi để thay đổi từ đứng en_US.ISO-8859-1sang en_US.UTF-8.
Gunnar Hjalmarsson

Cảm ơn bạn. Bạn có biết làm thế nào để chính xác làm điều đó? Tôi không thấy /etc/default/locale. Tôi chỉ có thể chạy sudo locale-gen en_US.utf8?
dùng1527227

8

Giải pháp lâu dài cho vấn đề miền địa phương là bằng cách xuất các biến cục bộ trong .bash_profiletệp. Bạn cũng có thể sử dụng /etc/profiletập tin thay vì .bash_profile.

echo "export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8">>~/.bash_profile

Đừng quên sourcecác .bash_profilevà làm theo các kịch bản trong thiết lập dễ dàng.

Đây là kịch bản khắc phục vấn đề bản địa


3

Điều này làm việc cho tôi.

  1. export LANGUAGE=en_US.UTF-8
  2. export LANG=en_US.UTF-8
  3. export LC_ALL=en_US.UTF-8
  4. sudo locale-gen en_US.UTF-8
  5. sudo dpkg-reconfigure locales


1

Những gì làm việc cho tôi là như sau:

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8 sudo locale-gen en_US.UTF-8 sudo dpkg-reconfigure locales

Đối với một giải pháp lâu dài, bạn có thể đặt

export LANGUAGE=en_US.UTF-8 export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8

trong .zshrchoặc.bashrc

Tham chiếu

  1. https://jee-appy.blogspot.com/2016/02/set-locale-on-ubfox-permanent-solution.html
  2. https://www.thomas-krenn.com/en/wiki/Perl_warning_Setting_locale_fails_in_Debian
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.