在 PHP 页面中向 MySQL 数据库插入数据时,如果数据出现乱码,可能是因为字符集设置不正确或者字符编码不匹配。
数据库字符集设置不正确:
-- 查看数据库的字符集设置
SHOW VARIABLES LIKE 'character_set_database';
-- 更改数据库的字符集设置(以UTF-8为例)
ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
数据库连接字符集设置:
// 在连接到数据库后,设置连接的字符集
mysqli_set_charset($connection, "utf8mb4");
表的字符集设置:
数据编码和存储:
iconv() 或 mb_convert_encoding()。输出字符集:
header("Content-Type: text/html; charset=utf-8");
通过确保数据库、连接、表、数据编码和输出都使用一致的字符集和编码,您可以解决从 PHP 页面插入数据导致乱码的问题。