Fix lỗi locale trên Ubuntu

  Feb 13, 2019      2m
   

Cách sửa lỗi locale trên Ubuntu

Fix lỗi locale trên Ubuntu

Lỗi locale trên Ubuntu

Khi bị lỗi về locale, bạn sẽ gặp lỗi không thể dùng pip để cài thêm package được. Lỗi in ra như sau:

$ sudo pip install --upgrade pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 11, in <module>
    sys.exit(main())
  File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 215, in main
    locale.setlocale(locale.LC_ALL, '')
  File "/usr/lib/python2.7/locale.py", line 581, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

Gõ lệnh locale để kiểm tra thì nó in ra:

$ locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=vi_VN
LC_TIME=vi_VN
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=vi_VN
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=vi_VN
LC_NAME=vi_VN
LC_ADDRESS=vi_VN
LC_TELEPHONE=vi_VN
LC_MEASUREMENT=vi_VN
LC_IDENTIFICATION=vi_VN
LC_ALL=

Chú ý dòng cuối cùng, LC_ALL chưa được set giá trị!

Cách fix lỗi locale trên Ubuntu

Mình tìm kiếm trên mạng và theo hướng dẫn nhiều cách nhưng vẫn không fix được. Duy chỉ có cách sau dùng một lệnh đã fix được như ý.

$ sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

Dùng lệnh locale để kiểm tra lại:

$ locale
LANG=en_US.UTF-8
LANGUAGE=
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=en_US.UTF-8

Để ý dòng cuối đã được set thành công về en_US.UTF-8 :D. Vậy là đã fix xong, có thể dùng pip để cài đặt và dùng Ubuntu bình thường.


Tham khảo: