PHP批量修改MySQL數(shù)據(jù)表字符集為utf8mb4/utf8mb4_unicode_ci

編碼大全

可參考我之前的文章:
快速理解ASCII溜畅、GBK捏卓、Unicode、UTF-8慈格、ANSI

批量修改

注意這是DDL操作怠晴,操作過(guò)程會(huì)鎖表(元數(shù)據(jù)鎖),平均1秒能夠轉(zhuǎn)碼3張表(數(shù)據(jù)量不大)浴捆。
親測(cè)操作過(guò)后沒(méi)有數(shù)據(jù)異常蒜田,推薦執(zhí)行前備份。

//接手一些老項(xiàng)目选泻,需要修改編碼冲粤。
$host = '';
$db   = '';
$user = '';
$pass = '';
$charset = 'utf8mb4';
$collate = 'utf8mb4_unicode_ci';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$db;charset=$charset", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // 從information_schema獲取所有的表名
    $stmt = $pdo->query("SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = '$db'");
    $tables = $stmt->fetchAll(PDO::FETCH_COLUMN, 0);

    // 遍歷所有的表并修改其編碼
    foreach ($tables as $table) {
        $sql = "ALTER TABLE `$table` CONVERT TO CHARACTER SET $charset COLLATE $collate;";
        $pdo->exec($sql);
        echo "{$table}    ====>    {$charset}/{$collate}" . PHP_EOL;
    }

} catch (PDOException $e) {
    die("MySQL連接失敗" . $e->getMessage());
}

最后別忘了執(zhí)行數(shù)據(jù)庫(kù)本身的轉(zhuǎn)碼操作。

ALTER DATABASE my_database CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末页眯,一起剝皮案震驚了整個(gè)濱河市梯捕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌餐茵,老刑警劉巖科阎,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異忿族,居然都是意外死亡锣笨,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門道批,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)错英,“玉大人,你說(shuō)我怎么就攤上這事隆豹⊥盅遥” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵璃赡,是天一觀的道長(zhǎng)判哥。 經(jīng)常有香客問(wèn)我,道長(zhǎng)碉考,這世上最難降的妖魔是什么塌计? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮侯谁,結(jié)果婚禮上锌仅,老公的妹妹穿的比我還像新娘章钾。我一直安慰自己,他們只是感情好热芹,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布贱傀。 她就那樣靜靜地躺著,像睡著了一般伊脓。 火紅的嫁衣襯著肌膚如雪府寒。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天丽旅,我揣著相機(jī)與錄音椰棘,去河邊找鬼纺棺。 笑死榄笙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的祷蝌。 我是一名探鬼主播茅撞,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼巨朦!你這毒婦竟也來(lái)了米丘?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤糊啡,失蹤者是張志新(化名)和其女友劉穎拄查,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體棚蓄,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡堕扶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了梭依。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片稍算。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖役拴,靈堂內(nèi)的尸體忽然破棺而出糊探,到底是詐尸還是另有隱情,我是刑警寧澤河闰,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布科平,位于F島的核電站,受9級(jí)特大地震影響姜性,放射性物質(zhì)發(fā)生泄漏瞪慧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一污抬、第九天 我趴在偏房一處隱蔽的房頂上張望汞贸。 院中可真熱鬧绳军,春花似錦、人聲如沸矢腻。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)多柑。三九已至奶是,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間竣灌,已是汗流浹背聂沙。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留初嘹,地道東北人及汉。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像屯烦,于是被迫代替她去往敵國(guó)和親坷随。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容