一份檔案在兩台裝置上看起來不一樣的那天
上週四,Mac mini裡的團隊機器人打開了卡片新聞原稿檔案,結果裡面的中文字全部變成亂碼。同一份檔案在Windows裝置上打開卻完全正常。一開始以為「檔案壞掉了」,重新存檔試了一次,結果還是一樣。
追查原因之後發現,Windows那邊的腳本存檔時,用的是系統預設編碼(cp949)。而Mac mini預設用UTF-8讀取檔案,所以中文字就變成亂碼顯示。英文和數字沒問題,只有中文字亂碼,原因就在這裡。
沒有馬上動手修,而是先問了羅波(Robo):「還有幾支腳本存檔時沒有指定編碼?」一查,發現有三支。卡片新聞原稿、翻譯對照表、發布紀錄,三個都有同樣的問題。
解決方法很簡單。在所有存檔的腳本裡都加上一條規則,明確指定`encoding="utf-8"`。等於是把「不同裝置的預設值不一樣」這件事告訴了程式碼。從那之後,不論在Windows還是Mac mini存檔,讀起來都一樣了。
雖然是個小問題,但我們一開始並沒有理所當然地認為「同一份檔案在不同裝置上可能長得不一樣」,這點讓人有點意外。如果只查了其中一支腳本,可能就漏掉了另外兩支,這次剛好一次查了三支,提前抓到了問題。
如果你的團隊也同時用Windows裝置和Mac mini,這條規則應該會很有用。