Windows下列印utf 8檔案

2021-06-16 16:40:23 字數 563 閱讀 7676

估計入門時都會遇到的。我是在windows下用的python25自帶的idle編輯執行的,發現執行指令碼得出的結果有一些中文顯示是亂碼,但有一些是 正常的。百思不得其解。首先檢視了一下原始檔的編碼格式,是utf-8。經過搜尋再搜尋,除錯再除錯,也換了幾個編譯器,發現比idle還糟糕(可能需要 進行encode設定)。問題終於解決了,一共花了俺將近5個小時,寫在這裡,希望遇到問題的人能搜尋到這裡,不再重犯。

亂碼原因:

因為你的檔案宣告為utf-8,並且也應該是用utf-8的編碼儲存的原始檔。但是windows的本地預設編碼是cp936,也就是gbk編碼,所以在控制台

直接列印utf-8的字串當然是亂碼了。 

解決方法:

在控制台列印的地方用乙個轉碼就ok了,列印的時候這麼寫:

print myname.decode('utf-8').encode('gbk') 

比較通用的方法應該是:

import sys

type = sys.getfilesystemencoding()

print myname.decode('utf-8').encode(type)

UTF8檔案讀寫

2009 04 07 12 00 56 分類 預設分類 舉報 字型大小訂閱 基本方法 使用vs2005提供的功能讀utf 8文字檔案,並將內容轉存在以unicode儲存的記憶體空間 如果需要寫出則使用二進位制方式開啟檔案,使用windows api函式widechartomultibyte轉換好後再...

網頁utf 8亂碼 utf8亂碼

複製 在前 在windows作業系統上使用ie作為瀏覽器時。常常會發生這樣的問題 在瀏覽使用utf 8編碼的網頁時,瀏覽器無法自動偵測 即沒有設定 自動選擇 編碼格式時 該頁面所用的編碼。即使網頁已經宣告過編碼格式 由此造成某些含有中文utf 8編碼的頁面產生空白輸出。由於utf 8為3個位元組表示...

utf 8 和 utf8的區別小記

utf 8 是標準寫法,php 在 windows 下邊英文不區分大小寫,所以也可以寫成 utf 8 utf 8 也可以把中間的 省略,寫成 utf8 一般程式都能識別,但也有例外 如下文 為了嚴格一點,最好用標準的大寫 utf 8 在資料庫中只能使用 utf8 mysql 在mysql的命令模式中...