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

ตอนที่ติดตั้งใช้งาน elementart OS แรกๆ เจอปัญหาว่าเวลาที่สั่งให้แสดงไฟล์ มันจะแสดงไฟล์โดยเรียงตามลำดับตัวอักษรภาษาอังกฤษเท่านั้น ไม่เอาตัวหนังสือภาษาไทยมาคิดรวมไปด้วย

ตัวอย่างเช่น ถ้าชื่อไฟล์คือ "หลับเป็น-ตื่นตาย-Version.1.pdf"
เวลาตอนที่สั่งแสดงผลด้วย ls หรือใน Files Manager มันจะไม่เอาคำว่า "หลับเป็น" มาเรียงลำดับ
แต่จะเอาคำว่า "Version" มาเป็นตัวเรียงลำดับ
ทำให้เวลาไล่ดูชื่อไฟล์ทำได้ลำบากมาก



หาวิธีอยู่นาน กว่าจะรู้ว่าปัญหานี้เป็นเพราะว่าไม่ได้ตั้งค่า LC_COLLATE ให้เป็นไทยนั่นเอง
แปลกใจอยู่ว่าตอนที่ติดตั้ง ก็เลือก locale เป็นไทยแล้วนะ แต่ทำไม่มันไม่ตั้งค่า LC_COLLATE ให้เป็นไทย

วิธีแก้ไขตอนนั้นทำไปแบบงมๆ มึนๆ กันไป ไม่ค่อยแน่ใจว่าจำถูกหรือเปล่า แต่ก็น่าจะประมาณนี้แหละ
เอามาจดบันทึกอีกทีเพราะถ้าต่อไปติดตั้งจะได้ง่ายขึ้น

สั่ง locale
เจอค่า LC_COLLATE เป็น en_EN.UTF-8
สั่งตั้งค่า LC_COLLATE ด้วยคำสั่งว่า

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

สั่ง cat /etc/default/locale
คราวนี้จะเห็นว่า LC_COLLATE เป็นไทยแล้ว

restart

จบปิ๊ง

คราวนี้ชีวิตมีสุขกว่าเดิมล่ะ

* * * * * * * * * *
[Keywords]

เรียงลำดับชื่อไฟล์ภาษาไทย


ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

L-Karaoke V.1.0-4 (NCN MIdi Karaoke For Linux)

โปรแกรมเล่นคาราโอเกะบนลินุกซ์

หน้าจอขึ้น busybox ไม่สามารถเข้าใช้งานได้