UnicodeDecodeError: 'charmap' codec can't decode byte 0x9a in position 55: character maps to <undefined>
ทั้ง ๆ ที่ใช้ Python 3 บน Windows และทั้งที่ไฟล์เป็น UTF-8 ?
บทความนี้จะพาไปเขียรโค้ดเพื่อป้องกันปัญหาเปิดไฟล์ภาษาไทยแล้วเจอ UnicodeDecodeError บน Windows ด้วยภาษา Python กันครับ
ทางป้องกัน จากที่ใช้คำสั่ง open ในการเปิดไฟล์ เช่น
f = open(fileopen, 'r')ให้เปลี่ยนไปใช้ไลบารี codecs ก่อนใช้งานให้
import codecsแล้วใส่พารามิเตอร์ encoding = 'utf8'
เช่น
f = open(fileopen, 'r',encoding='utf8')เพียงเท่านี้ก็หมดปัญหาเปิดไฟล์ภาษาไทยแล้วเจอ UnicodeDecodeError ด้วย Python ไม่ว่าจะเป็น Windows , Linux หรือ MacOS ก็หมดปัญหาแล้ว
ขอบคุณมากค่ะ
ตอบลบ