發表文章

目前顯示的是 2月, 2014的文章

cx_Freeze 打包以後PyQt webview 產生亂碼

之前因為接觸 Anki 以後,發現了 Anki 是用 Python 寫出來的。 據說Python比較貼近人類語言,因此比較簡單易學。 因此決定把Python 當作是我踏入 coding 的程式語言,學了一年以來,總算是明白了一些程式邏輯,也開始寫些小程式當作練習。 用PyQt 的QWebView 顯示外部網頁,在邊寫邊測試的時候,一切正常。 用cx_Freeze 打包後,中文網頁竟然變亂碼,把原本的big5 編碼用 cp1252 來編, 查了網路上的資料原本以為設定了 websettings2 = self.webView_2.settings() websettings2.setDefaultTextEncoding("Big5") 以後就會恢復正常,結果一點都沒改善 弄了半天,原來只要在 app = QApplication(sys.argv) 後面加上 app.Encoding(QApplication.UnicodeUTF8) utfcodec = QTextCodec.codecForName("UTF-8") QTextCodec.setCodecForTr(utfcodec) QTextCodec.setCodecForLocale(utfcodec) QTextCodec.setCodecForCStrings(utfcodec) 並把 C:\Python27\Lib\site-packages\PyQt4\plugins\codecs 複製到打包出來的目錄下就好了 同理適用於PySide 參考網頁: 解决py2exe打包pyside后webview产生的中文乱码问题 | YQ