2013年4月6日 星期六

屈服了!程式定義檔編碼

合併後的資料是以csv搭配spss, sas, stata程式定義檔的方式提供受訪者下載。
資料庫設計之初是以utf-8作為資料庫的編碼格式。但實際測試時發現,在繁體中文ms windows環境下,系統預設編碼為big5,因此三個統計軟體的預設編碼同樣也為big5。若由系統直接輸出utf-8格式的程式定義檔,軟體開啟時都將是亂碼,且會產生錯誤,根本無法執行。其中SAS及spss都支援unicode模式,可以經過調整後正確開啟,但畢竟不是預設模式,需要費一點手腳;更慘的是stata,他居然完全沒辦法支援unicode,只能支援作業系統預設的編碼模式。
所以,最後我屈服了,決定提供big5編碼的程式定義檔。但考量系統運作的穩定性,整個系統及資料庫仍然維持utf-8編碼,僅於輸出檔案時利用iconv函數進行編碼轉換。iconv的轉碼並不十分完美,如果遇到沒有對應的文字,可能會出錯,不過由於問卷中並沒有太多的特殊字,所以先這樣用用看吧!如果未來出現太多問題,再個別進行調整。
目前,這部分已經完成,spss, sas, stata程式定義檔也都測試過沒有問題。

沒有留言:

張貼留言