修改MySQL的文字編碼 – From utf8 to utf8mb4

前陣子在設計一隻簡單的網路爬蟲,目標是網路上的部落格文章,結果發現爬下來的內容有時會無法寫入MySQL資料庫儲存,追查後發現是因為 MySQL 預設的 UTF8 並不支援所有的字元,改成使用 UTF8_mb4 就能解決這問題。 其中 UTF8 與  UTF8_mb4 的差別在於一個是 3 byte,另一個是 4 byte,原本 MySQL 如此設計是為了節省空間、增加字串的可儲存長度,但網路爬蟲會爬到甚麼文字內容完全是未知數,當遭遇不支援的字元時反而就出狀況啦!

修改MySQL資料庫所使用的文字編碼 (utf8 to utf8mb4) 本身不是太困難,只是有些配套的設定如果沒有同時修改,未來將可能會遭遇到其他問題,為此做了些功課後有了此篇筆記。

Read More »