你是否有這樣的經驗,明明沒問題的script,拿到某的電腦一直看到下面的訊息而無法執行。
LookupError: unknown encoding: cp65001
cp65001是什麼鬼!?其實,它就是UTF8阿!只是,Microsoft喜歡叫他cp65001(code page 65001號)。附帶一提,我們常用的Big5是cp950。想要知道你目前所使用的code page可以在Windows的console視窗執行
[][1] chcp 就可以看到。 為了要避免這樣的問題,我們要告訴Python,cp65001就是utf-8。因此,利用下面的script我們可以讓cp65001變成utf-8。 ## A workaround to alias utf8 encoding to cp65001(Microsoft’s utf8) try: codecs.lookup(‘cp65001’) except: def cp65001(name): if name.lower() == ‘cp65001’: return codecs.lookup(‘utf-8’) codecs.register(cp65001) 解決Python script無法在cp65001的console下執行的問題
[1]: