Anaconda Error Encoding: 874

Apipoj Piasak
Data Espresso
Published in
Nov 14, 2019

วันนี้มีเคล็ดลับการแก้ปัญหา 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 นะครับ

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 ครับ

แก้ไขไฟล์ aliases.py
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 กันหมดแล้วป่าวหว่า)

--

--

Apipoj Piasak
Data Espresso

Share thoughts, technology, the technique to build up the digital product that users love.