作者eaden (evenrain)
看板Python
標題[問題] invalid start byte
時間Thu Jul 11 18:19:31 2013
遇到一個詭異的問題是 我的程式在使用者的電腦會出現
'utf8' codec can't decode byte 0xbe in position 46: invalid start byte
這樣的問題,但是在我的電腦卻怎麼都測不出來
請問這個情形是什麼狀況?
我是用 PySide 寫 GUI 程式,再透過 py2exe 打包成可執行檔
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.190.212
1F:推 freelancer:就你程式本文的編碼跟使用者環境的編碼不一致 07/11 20:49
2F:→ freelancer:加個這個 pep-0263 強制用某個編碼讀應該就可以了 07/11 20:51
我的每隻 .py 都有加 #-*- coding: utf-8 -*- (其實是 pydev 加的 XD)
3F:→ 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)
4F:→ eaden:我用 GUI2Exe 打包,只能選 .py 不能選 .pyc 耶... 07/12 12:31