看板 Python 關於我們 聯絡資訊
自回一下 解法是: 標頭宣告還是使用utf8,只是在寫中文的時候要加上u的前綴字 例如 print u"測試" -- 大家好 想請問一下 我在linux下使用utf8編碼開發程式,而windows採用的編碼是cp950 當我在windows去fork linux寫好的code時會出現編碼錯誤 所以我將開頭的 #-*-coding:utf-9-*- 改成 #-*-coding:cp950-*- 但這樣在windows還是會跳出錯誤,如果我採用i18n的做法可以解決掉這個問題嗎? 或是我可以使用sys.platform根據不同來指定不同的coding(不過這樣好像又是上面 的問題) 或是有其他的解法呢? 謝謝:wq -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.201.137
POSIX:我猜應該是你的程式在處理輸入的字串的地方出問題 04/25 17:34
verybada:我的程式沒有給使用者輸入的部分欸 04/25 17:35
Holocaust123:改成#-*-coding:cp950-*- 檔案並不會真的變成cp950 04/25 17:38
Holocaust123:要把.py檔轉成cp950才行 04/25 17:38
Holocaust123:"i18n的做法"指的是什麼(第一次聽到) 04/25 17:39
Holocaust123:建議PO code跟錯誤訊息 不然其實挺隔空抓藥的... 04/25 17:40
verybada:i18n http://docs.python.org/library/gettext.html 04/25 17:43
verybada:code的話 可能要麻煩到github去fork (因為蠻多隻的= =") 04/25 17:43
verybada:https://github.com/verybada/MyMoney 04/25 17:45
verybada:錯誤為UnicodeDecode Error: cp950 codec cant decode 04/25 17:46
verybada:bytes 04/25 17:46
※ 編輯: verybada 來自: 61.217.237.170 (04/25 20:44) ※ 編輯: verybada 來自: 61.217.237.170 (04/25 20:45)