事情是這樣子的,持續努力讓Line Bot能查教師課表的某一天,在經歷了數據蒐集、數據處理、介接imgur api...等等,終於讓Bot傳來了一張圖片啦~但仔細一看似乎不太對勁!
How to Use Custom Fonts in Heroku Apps?
我X,踩雷了,竟然出現中文亂碼的狀況,這課表鬼才看得懂(鬼:口口口口口這鬼也看不懂好嘛)於是又開始try&error loop...甚至讓Bot去下CLI指令刪除搬移檔案...繞了好一大圈,終於讓我找到答案了!!!令人難過的是,這方法非常簡單...雖然這是常有的事,可就是白耗了好多時間。但沒關係,讓碰見相同問題的人能快速找到解決方案,這就是學習筆記的意義所在。
Solution
- 準備好你要的字型,須特別注意的是,該字型必須是Linux/Ubuntu所支援的字型。
- 在專案根目錄下新增一個名稱為「.fonts」的資料夾(tips:在命名時輸入.fonts.)
- 把字型檔案(.ttf)放到上述資料夾中
- 重新部署
*2021/02/21補充說明:因收到來信詢問相關問題,我使用的字體為SimHei。
python
plt.rcParams['font.sans-serif'] = ['SimHei']
關於中文亂碼,似乎是matplotlib無法在Heroku環境下找到可套用的中文字型,但我在本機測試是沒問題的...所以要自己提供字型就是了,真是踩了個莫名其妙的雷,總之中文亂碼問題就這麼解決了。