วันพุธ, ตุลาคม 30, 2562

แก้ไขปัญหา "cannot change locale"

เจอปัญหาเมื่อเข้า docker แล้วจะเจอ error "cannot change locale" ซึ่งแม้จะไม่กระทบกับการทำงานแต่ก็ทำให้รำคาญ
# docker exec -it container /bin/bash
bash: warning: setlocale: LC_CTYPE: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_COLLATE: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_MESSAGES: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_NUMERIC: cannot change locale (en_US.UTF-8): No such file or directory
bash: warning: setlocale: LC_TIME: cannot change locale (en_US.UTF-8): No such file or directory
สำหรับการแก้ปัญหา ทำได้โดยใช้คำสั่ง

localedef -i en_US -f UTF-8 en_US.UTF-8

เพื่อคอมไพล์ไฟล์ charmap และไฟล์ input เป็น binary หลังจากรันเสร็จก็ logout login ใหม่ก็ไม่มีปัญหาแล้ว :)