StarLink

博客园 首页 新随笔 联系 订阅 管理

PHP连接文件出现下面的错误,大概是客户端不理解服务器发送的字符编码

<?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

posted on 2020-12-30 21:31  Little_Blank  阅读(675)  评论(0)    收藏  举报