安装在本地计算机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',
'缓存'=>否,
如何解决这个问题呢?
最佳答案
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?
关于php - Database_Exception [2]:mysqli_connect():服务器向客户端发送了未知的字符集(255)。请向开发商报告,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52111832/