เพิ่งลง OSX Mavericks (10.9) ใหม่ แล้วภาษาไทยใน terminal (ใช้ iTerm2) มันมีปัญหา เป็นแบบนี้ครับ (รัน git diff
)
ส่วนใน 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
พบว่าภาษาไทยแสดงผลได้ดีแล้ว
เช็ค 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
TIL: Convert a PNG to a JPG with sips
Lazy-load nvm to Reduce ZSH's Startup Time
ลองใช้ Prezto กับ zsh