看板 Python 關於我們 聯絡資訊
遇到一個詭異的問題是 我的程式在使用者的電腦會出現 'utf8' codec can't decode byte 0xbe in position 46: invalid start byte 這樣的問題,但是在我的電腦卻怎麼都測不出來 請問這個情形是什麼狀況? 我是用 PySide 寫 GUI 程式,再透過 py2exe 打包成可執行檔 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.190.212
freelancer:就你程式本文的編碼跟使用者環境的編碼不一致 07/11 20:49
freelancer:加個這個 pep-0263 強制用某個編碼讀應該就可以了 07/11 20:51
我的每隻 .py 都有加 #-*- coding: utf-8 -*- (其實是 pydev 加的 XD)
sbrhsieh:先編譯成 pyc 再包成 exe 就不會有這種問題 07/11 21:14
目前除了我的主程式外,pydev 好像都有幫我編譯成 pyc, 所以我應該要手動下 python -m py_compile xxx.py 把我的主程式也編譯成 pyc 嗎? 我之前是有在程式裡寫 reload(sys) sys.setdefaultencoding('utf-8') 理論上這樣寫應該已經把環境轉成 utf-8了不是? ※ 編輯: eaden 來自: 122.116.190.212 (07/12 11:06)
eaden:我用 GUI2Exe 打包,只能選 .py 不能選 .pyc 耶... 07/12 12:31