PHP连接文件出现下面的错误,大概是客户端不理解服务器发送的字符编码
$dbhost='localhost';
$dbuser='root';
$dbpass='';
$dbname='demo';
$dbc = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
if(!$dbc){
die("Could not connect database.".mysqli_connect_error());
}
?>
server sent charset unknown to the client. please, report to the developers
MySQL 8.0已经已经把默认字符集升级成ut8mb4
使用命令查看当前数据库的编码字符集:
mysql> show variables like 'character%';
官方文档截图:
官方文档链接:https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html
因为网站无法使用,暂时没找到其他的方法,所以需要修改默认字符集编码格式修改为utf8
测试系统为CentOS 7
解决方法如下:
修改my.conf文件,文件路径在 /etc/my.conf
在文件末尾添加如下选项,重启mysql守护进程
[client]
default-character-set = utf8
[mysqld]
default-storage-engine = INNODB
character-set-server = utf8
collation-server = utf8_general_ci
重启MySQL:
systemctl restart mysqld
使用命令查看默认字符集:
mysql> show variables like 'character%';
参考文档链接:
https://blog.csdn.net/linux_Allen/article/details/80579851?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-10&spm=1001.2101.3001.4242
https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb4.html
2020-12-30