概述
重现环境
数据库:mysql8
php:php7.3.11
php框架:lumen
问题描述
在如上环境中,执行sql报错
Next IlluminateDatabaseQueryException: SQLSTATE[HY000] [1045] client charset is not supported
解决方案
修改vendorilluminatedatabaseConnectorsMySqlConnector.php
文件的getHostDsn
方法,加入对charset的处理,
protected function getHostDsn(array $config)
{
extract($config, EXTR_SKIP);
$dsn = isset($port)
? "mysql:host={$host};port={$port};dbname={$database}"
: "mysql:host={$host};dbname={$database}";
if (isset($charset)) {
$dsn .= ";charset={$charset}";
}
return $dsn;
}
解决思路
- 写了一个测试文件连接数据库,发现没问题。
- 查看源码发现,报错在
createConnection
的时候,但框架中设置charset
在其后。
最后
以上就是俊逸橘子为你收集整理的解决 Lumen 中 client charset is not supported的全部内容,希望文章能够帮你解决解决 Lumen 中 client charset is not supported所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复