Database_Exception [2]:mysqli_connect():服务器向客户端发送了未知的字符集(255)。请向开发商报告

时间:2018-08-31 08:53:13

标签: php mysql mysqli kohana

安装在本地计算机Docker和Kohana框架上。

我无法建立与数据库的连接。

发生错误:

Database_Exception [ 2 ]: mysqli_connect(): Server sent charset (255) unknown to the client. Please, report to the developers

填写datebase.php

return array

(     '默认'=>数组     (         'type'=>'MySQLi',         '连接'=>数组(             '主机名'=>'mysql',             '数据库'=>'媒体',             '用户名'=>'根',             'password'=>'root',             '持久'=>否,         ),         'table_prefix'=>'',         '字符集'=>'utf8mb4',         'caching'=> FALSE,

如何解决这个问题? enter image description here

2 个答案:

答案 0 :(得分:5)

MySQL已将默认字符集从版本8更改为utfmb4。但是某些客户端不知道该字符集。因此,当服务器向客户端报告其默认字符集,而客户端不知道服务器的含义时,则会引发此错误。

另请参阅https://bugs.mysql.com/bug.php?id=71606

该错误是针对MySQL Connector / C ++的,因此它不仅影响PHP。

好的-我将字符集更改为utf8,使其与未升级的客户端兼容,从而使其能够正常工作。我将此添加到/etc/my.cnf并重新启动mysqld:

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8


[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8

我在2010年的答案中找到了这些设置:Change MySQL default character set to UTF-8 in my.cnf?

答案 1 :(得分:0)