วันพุธที่ 27 เมษายน พ.ศ. 2559

[Ubuntu] ตั้งค่า Locate ให้เป็นไทย เพื่อแสดงชื่อไฟล์ให้เรียงลำดับตามภาษาไทย

Linux รุ่นเก่าบางตัว เวลาติดตั้งเสร็จแล้ว ต่อให้เลือก locale เป็นไทย มันก็ยังเป็นไทยไม่สมบูรณ์

พอเวลาใช้คำสั่ง ls เพื่อแสดงรายชื่อไฟล์ใน terminal หรือเปิดดูจาก file manager มันไม่เรียงลำดับตามที่ควรจะเป็น ที่จริงควรต้องเรียงตามลำดับตัวอักษรของชื่อไฟล์

แต่มันกลับจัดเรียงโดยตัดตัวอักษรที่ไม่ใช่ภาษาอังกฤษออก

เช่นไฟล์ชื่อว่า "โรงเรียนของฉัน my school.odt"

แทนที่มันจะเรียงจาก "โรง" มันกลับไปคิดลำดับจาก "my"



วิธีแก้คือสั่งปรับให้ locale เป็นภาษาไทย

sudo locale-gen th_TH.UTF-8

sudo update-locale LC_COLLATE="th_TH.UTF-8"


สั่ง cat /etc/default/locale

จะเห็นว่า LC_COLLATE เป็นไทยแล้ว จากนั้นเมื่อแสดงชื่อไฟล์ ก็จะเรียงตามลำดับอักขระวิธีแบบภาษาไทย


สั่ง locale ดู 

LANG=en_US.UTF-8

LANGUAGE=en_US

LC_CTYPE="en_US.UTF-8"

LC_NUMERIC=th_TH.UTF-8

LC_TIME=th_TH.UTF-8

LC_COLLATE="en_US.UTF-8"

LC_MONETARY=th_TH.UTF-8

LC_MESSAGES="en_US.UTF-8"

LC_PAPER=th_TH.UTF-8

LC_NAME=th_TH.UTF-8

LC_ADDRESS=th_TH.UTF-8

LC_TELEPHONE=th_TH.UTF-8

LC_MEASUREMENT=th_TH.UTF-8

LC_IDENTIFICATION=th_TH.UTF-8

LC_ALL=


÷ ÷ ÷ ÷ ÷

[ Keyword ]

ตั้งค่า locale ให้เป็นไทย


[ Reference ]

[Blognone] ขอคำแนะนำการใช้งาน Linux เรื่องการแสดงชื่อไฟล์ให้เรียงลำดับครับ

[Linux-HM] แสดงชื่อไฟล์แบบเรียงตามลำดับอักษรไทย

ไม่มีความคิดเห็น:

แสดงความคิดเห็น