一、字符编码不一致

MySQL 安装时默认字符集为 latin1,而很多网站都使用 UTF-8 编码,这时可能导致查询结果出现乱码。可以使用如下命令修改 MySQL 编码:

ALTER DATABASE your_database_name CHARACTER SET utf8;
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8;
登录后复制

其中 your_database_nameyour_table_name 分别替换为你的数据库和数据表名称。

二、数据库和页面编码不一致

未指定字符集时建立数据库连接,可能导致查询结果使用不同字符集,最终出现乱码。可以使用如下命令在连接时指定字符集:

mysqli_set_charset($link, 'utf8');
登录后复制

其中 $link 是数据库连接的变量名称,根据实际情况进行修改。

三、PHP版本不兼容

在 PHP5.5 及以下版本,mysql_ 函数被废弃,建议使用 mysqli_PDO 函数。如果你使用的是 mysql_ 函数并且在 PHP7 以上版本中运行,那么查询结果可能出现乱码。建议升级至 mysqli_PDO函数。

四、转换字符集

在 PHP 中使用 iconv() 函数将字符从一种编码转换成另一种编码。例如将 GBK 编码转换为 UTF-8 编码:

$content = iconv('GBK', 'UTF-8', $content);
登录后复制

以上就是php mysql查询结果显示乱码如何解决的详细内容,更多请关注Work网其它相关文章!

08-24 14:50