就是阅藏记事小程序,今天自己继续用,收藏一篇文章,没有提示保存成功,心想,翻车了吗。
晚上这会看了一下,保存时,服务器报错:General error: 1366 Incorrect string value
这个之前有经验,文章内容里面有表情符号,于是在本站搜了一下之前的解决方案,就是set names

顺手问了一下豆包,Thinkphp8中,如何处理,回复是:database.php中,如下改写:

return [
// 默认数据库连接
'default' => env('database.driver', 'mysql'),

// 数据库连接配置
'connections' => [
    'mysql' => [
        // 数据库类型
        'type'            => 'mysql',
        // 服务器地址
        'hostname'        => env('database.hostname', '127.0.0.1'),
        // 数据库名
        'database'        => env('database.database', ''),
        // 用户名
        'username'        => env('database.username', 'root'),
        // 密码
        'password'        => env('database.password', ''),
        // 端口
        'hostport'        => env('database.hostport', '3306'),
        // 数据库编码默认采用utf8mb4
        'charset'         => 'utf8mb4',
        // 数据库表前缀
        'prefix'          => env('database.prefix', ''),
        
        // 连接参数
        'params'          => [
            // 这里会自动执行SET NAMES utf8mb4
            \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
        ],
        
        // 其他配置...
        'deploy'          => 0,
        'rw_separate'     => false,
        'master_num'      => 1,
        'slave_no'        => '',
        'debug'           => env('app_debug', false),
        'break_reconnect' => false,
        'failover'        => [],
        'read_timeout'    => 0,
        'write_timeout'   => 0,
    ],
],

];

主要就是链接参数,params这里。经实验,是有效的。