ภาษาไทยใน Terminal (OSX)

เพิ่งลง OSX Mavericks (10.9) ใหม่ แล้วภาษาไทยใน terminal (ใช้ iTerm2) มันมีปัญหา เป็นแบบนี้ครับ (รัน git diff)

default osx locale

ส่วนใน Vim ก็เละตุ้มเป๊ะ

thai in vim

ลองหาใน Google ดู ก็พบว่าเป็นปัญหาที่ locale ในเครื่องเรา ที่มันอ่านภาษาไทยไม่ออก เมื่อรัน command locale มันก็ได้แบบนี้ครับ

\$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

วิธีแก้ก็คือ เซ็ต locale ให้มันเป็น en_US.UTF-8 ครับ โดยเพิ่ม 2 บรรทัดนี้เข้าไปใน ~/.zshrc (ถ้าใครใช้ bash ก็เป็น ~/.bashrc)

# ~/.zshrc

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

พบว่าภาษาไทยแสดงผลได้ดีแล้ว

fixed locale in iterm

fixed thai in vim

เช็ค locale ดูก็เป็น en_US.UTF-8

\$ locale
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"

ที่มา: In OSX Lion, LANG is not set to utf8. how to fix?

ปล.

  • ผมไม่ค่อยรู้เรื่อง locale เท่าไหร่ เอะอะก็ใช้ UTF8 ไว้ก่อน
  • ไม่รู้งานนี้ฟอนต์ที่ใช้มีส่วนเกี่ยวด้วยไหม แต่ฟอนต์ที่ผมใช้กับ iTerm2 คือ Inconsolata for Powerline ครับ

Related Posts