Anaconda Error Encoding: 874
วันนี้มีเคล็ดลับการแก้ปัญหา LookupError: unkown encoding:874 จากการเปิดใช้งาน Jupyter Notebook ด้วย Anaconda บนเครื่อง Windows กันครับ
ANACONDA คืออะไร?
เกริ่นกันก่อน Anaconda ในที่นี้ไม่ใช่งูยักษ์จากหนังที่เราเคยดูสมัยเด็กๆ นะครับ แต่เป็นเครื่องมือที่ใช้ในงานด้าน Data Science โดยรวม Packages ที่พร้อมใช้งานไว้มากมายสนับสนุนให้คนทำงานด้านนี้เรียกใช้งานได้อย่างง่ายดายครับ โดยสามารถใช้ได้ทั้งภาษา Python และ R
ติดตั้ง ANACONDA
เราสามารถติดตั้ง ANACONDA ได้ทั้งบน Windows, Linux, Mac โดยสามารถ Download ได้ที่ https://www.anaconda.com/distribution/ หลังจากติดตั้งแล้วเราก็จะสามารถเรียกใช้งาน jupyter notebook เพื่อเขียนโปรแกรมได้จากหน้าจอ Anaconda Navigator นะครับ
ปัญหาที่พบหลังจากติดตั้ง
แต่ปัญหาที่พบบ่อยๆ บนเครื่อง Windows ที่ใช้ Encoding เป็นภาษาไทย สำหรับ non-Unicode programs แบบข้างล่างนี้นะครับ พอเราจะเปิดใช้งาน jupyter notebook เราก็จะเจอ Error แบบในรูปถัดไป
ซึ่ง Error ที่ฟ้องคือ LookupError: unkown encoding:874 แบบข้างล่างนี้ และเราก็จะใช้งาน jupyter notebook ไม่ได้
วิธีแก้ไข
สาเหตุเพราะตัว Encoding สำหรับภาษาไทยคือ 874 ครับ โดย Default config ของ Anaconda นั้นไม่มี codec 874 ติดมา เราต้องเพิ่มเองครับ โดยที่สามารถเพิ่มได้ครับโดยไปที่ไฟล์ aliases.py ที่อยู่ใน encodings folder ครับ
C:\Users\(name)\AppData\Local\Continuum\anaconda3\Lib\encodings\aliases.py
หมายเหตุ แทนที่ (name) ด้วยชื่อ username ของคุณครับ
จากนั้นให้เพิ่ม codec 874 เข้าไปในไฟล์ครับ แนะนำให้เพิ่มไว้ใต้ #cp869 ตามรูปนะครับจะได้ไม่งง
# cp874 codec
'874' : 'cp874',
หลังจากนั้นเราก็เปิดปิดตัว Anaconda Navigator ใหม่ แล้วค่อยเปิด Jupyter Notebook คราวนี้ก็สามารถใช้งานได้แล้วครับ ^^
หวังว่าบทความนี้จะเป็นประโยชน์นะครับ จะได้ไม่ต้องแก้ Local ของ Windows เป็น English, เดี๋ยวเวลาเปิดดูหนังแล้วซัพไตเติลจะเป็นภาษาต่างดาวเอา (แต่ว่าเค้าดูผ่าน Streaming กันหมดแล้วป่าวหว่า)