Home | Back


การแก้ปัญหา Setting locale failed ใน Ubuntu เมื่อกำหนดการติดตั้งในประเทศไทย

Saturday, 19 October 2013



ในการใช้งาน Ubuntu ซึ่งในตอนติดตั้งจะมีการสอบถามถึง location ที่ตั้งของคอมพิวเตอร์ของเรา เราก็จะกำหนดให้ระบบทราบว่า เราติดตั้งระบบในประเทศไทยเพื่อให้ระบบได้ติดตั้งพวก keyboard layout และระบบแสดงเวลาต่าง ๆ ให้ถูกต้อง แต่ก็จะเจอปัญหาเรื่องของการกำหนด locale ที่ผิดพลาด โดยในการติดตั้ง package ใหม่ก็จะเจอปัญหาดังนี้

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LC_TIME = "th_TH.UTF-8",
        LC_MONETARY = "th_TH.UTF-8",
        LC_ADDRESS = "th_TH.UTF-8",
        LC_TELEPHONE = "th_TH.UTF-8",
        LC_NAME = "th_TH.UTF-8",
        LC_MEASUREMENT = "th_TH.UTF-8",
        LC_IDENTIFICATION = "th_TH.UTF-8",
        LC_NUMERIC = "th_TH.UTF-8",
        LC_PAPER = "th_TH.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory

ทำให้เราติดตั้ง package บางตัวไม่ได้ โดยเราสามารถแก้ปัญหาในกรณีที่กำหนด location เป็นประเทศไทยได้ดังนี้

$ sudo locale-gen th_TH.UTF-8
Generating locales...
  th_TH.UTF-8... up-to-date
Generation complete.
$ sudo dpkg-reconfigure locales
Generating locales...
  en_AG.UTF-8... done
  en_AU.UTF-8... done
  en_BW.UTF-8... done
  en_CA.UTF-8... done
  en_DK.UTF-8... done
  en_GB.UTF-8... done
  en_HK.UTF-8... done
  en_IE.UTF-8... done
  en_IN.UTF-8... done
  en_NG.UTF-8... done
  en_NZ.UTF-8... done
  en_PH.UTF-8... done
  en_SG.UTF-8... done
  en_US.UTF-8... done
  en_ZA.UTF-8... done
  en_ZM.UTF-8... done
  en_ZW.UTF-8... done
  th_TH.UTF-8... up-to-date
Generation complete.

จากนั้นปัญหาเรื่องการกำหนด locale ที่ผิดพลาดก็จะหมดไปครับ



Home | Back