訓練家的佈弱格-Patch1.2

The BLOG of trainer



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

類型:網誌
作者:羽山
文章時間:2022-06-07 06:22:37
瀏覽人數:1386人
標題: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

最新訓練
(2023-01-29)
【遊戲 / 生活】三用電表液晶螢幕維修

(2023-01-29)
【酷龍 150】酷龍NK150 鎖頭接觸不良維修

(2023-01-28)
【NSR 150】NSR150 原廠排氣管老鼠尾

(2023-01-27)
【本田 MSX-125】MSX-125 貨架焊接

(2023-01-25)
【NSR 150】NSR150 離合器外蓋、電盤側、引擎上車

(2023-01-21)
【遊戲 / 生活】抽水馬達維修

(2023-01-09)
【川崎 ZX1000】ZX1000 安裝行車紀錄器

(2022-12-27)
【酷龍 150】酷龍 150 換機油 37017km

(2022-12-14)
【遊戲 / 生活】桌上型砂輪機開關維修

(2022-12-14)
【NSR 150】NSR150 製作鋰鐵電池