訓練家的佈弱格-Patch1.2

The BLOG of trainer



編輯日期:2022-06-07 06:22

類型:網誌
作者:羽山
文章時間:2022-06-07 06:22:37
瀏覽人數:364人
標題:3WA 全站 utf8 轉 utf8mb4
網址:https://3wa.tw/blog/blog.php?id=1979
內容:
 

近期有網友留言,總是喜歡打些語言表情符合,如~👶😛🤓

之前 mysql(Mariadb) 資料庫的字集宣告使用

Character set: utf8

Collation: utf8_general_ci

當遇到這類的「文字」,會無法寫入直接 throw exception

把字集都改成更新的 utf8mb4 即可

花了半小時寫了一支自動轉整個 database 的語法:

https://3wa.tw/mypaper/index.php?uid=shadow&mode=view&id=2079

將內容存成「database_to_utf8mb4.php」,執行方式:

php database_to_utf8mb4.php [資料庫]

一輪跑下來自動就把該資料庫裡所有 table column 有 Character set 全都轉

table 宣告也轉、database 也轉

已知遇到的問題:

1、如果你把 varchar 拿來當 index,會有上限 1000byte 的異常

需先把 index 拿掉才能轉換

2、沒有記下 table column comments 註解,之後有其他站要轉,有空再改~

3、沒有羽山刻的 selectSQL_SAFE execSQL_SAFE 也不能跑 XD,想用的同學再私下跟我要 Code 吧

 

2022-06-07 補充:

資料庫從 utf8 轉成 utf8mb4 後,在每天的自動備份,看備份檔沒有明顯的變化,跟前幾天一樣。

另外在轉檔前,我曾試著在另一台 windows 裡安裝 mariadb ,但因為備份檔已太大(1.9GB)

無法使用 mysql -u帳號 -p < db_2022_06_06.sql 這樣的指令匯入,在windows作業系統如要匯入

,使用 cmd ,進到命令提示字元,需先切換至 utf8 環境

chcp 65001

然後進入 mysql

mysql -u帳號 -p密碼

進入後,再下指令匯入

source db_2022_06_06.sql

 

轉成 utf8mb4 後還沒有還原匯入,再找時間試試會不會匯失敗

 

 

 

 

首頁  上十頁  上一頁  1 下一頁    最末頁 (總共有...1頁)

第 1 頁

有話要說  看留言 【2】

其他分類
當月訓練
(2022-06-18)
【NSR 150】NSR150 轉速表卡住

(2022-06-07)
【網誌】3WA 全站 utf8 轉 utf8mb4

最新訓練
(2022-08-06)
【本田 MSX-125】MSX-125 換後輪

(2022-06-18)
【NSR 150】NSR150 轉速表卡住

(2022-06-07)
【網誌】3WA 全站 utf8 轉 utf8mb4

(2022-05-28)
【KTM 390】KTM Duke390 維修含氧感知器

(2022-05-28)
【NSR 150】NSR150 維修煞車開關

(2022-05-21)
【酷龍 150】酷龍 150 更換時速表線

(2022-05-15)
【Suzuki 小阿魯150】小阿魯換後輪

(2022-05-14)
【機車綜合相關】順牙工具特工(電動扳手用)

(2022-05-08)
【NSR 150】NSR150 更換後輪

(2022-05-02)
【NSR 150】NSR150 維修機油燈-Part2