扫盲 2026.11.04 01:24 17 次浏览 0 条评论

MySQL中文乱码解决办法

乱码就一个根源:库、表、连接三处的字符集不统一。先查现状:

SHOW VARIABLES LIKE 'character%';
-- 看 client、connection、results、database、server 是否都是 utf8mb4

在小皮面板里进入软件管理,找到 MySQL,点击配置修改,在 my.ini 里加上下面几行,保存后重启 MySQL:

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

[client]
default-character-set=utf8mb4

建库建表时不要用默认值,PHP 连接时必须指定 charset:

CREATE DATABASE test DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8mb4','root','123456');
$mysqli->set_charset('utf8mb4'); // mysqli 写法

老表要转字符集,执行 ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4; 页面也声明 utf-8。三处统一后,乱码基本就没了。

标签:MySQL,字符集,PHP

说点什么 0

行思随记

欢迎来到:行思随记