BloggerAds Banner

2010年2月10日 星期三

python 筆記 - 設定字串預設編碼 set default string codec - 使用 sys.setdefaultencoding

在 python 裡面預設的字串編碼是 ascii (ansi)
處理正體和簡體中文以及日文等語言的時候可能會有問題
所以我的習慣是盡量一律用 UTF-8 編碼,除非是某些老軟體或環境非得用 big5

基本上比較通用的方法,要做的有以下幾行

在 .py 開頭放這行
# -*- coding: UTF-8 -*-
並且檔案用 UTF-8 存檔,注意盡量不要有 BOM
這樣就可以在 .py 裡面使用非 ascii 的 literal

reload(sys) #不先 reload sys module 的話,setdefaultencoding 這個 method 會不能用,我也不知道為什麼
sys.setdefaultencoding('UTF-8')
這個可以設定沒有明確指定編碼的字串物件,預設編碼為 UTF-8,通常是從外部來源讀取或寫入的時候就會用到

沒有留言:

張貼留言

熱門文章

BloggerAds Sticker 480x60

BloggerAds Multiple, AdSense