安装在本地计算机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,
答案 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)
您可以使用mysql:5.7
和php:7.3.9
码头工人镜像,这似乎很好用。
从这里得到: