上一篇文章:

Uncaught mysqli_sql_exception: Incorrect string value: 'xF0x9Fx91x86xE5x85...' for column (144d.com)


文章中写了,改了数据库的字符集,字段的字符集,写入还是报错,当时没注意在执行查询的时候,用了set names


然后这个set names还设置的是utf8


经测试,这个set names改为utf8mb4就对了


连接代码如下:


function getDb($dsn,$user,$pwd)
{
    try {
        $conn=new PDO($dsn,$user,$pwd,[PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4']);
        return $conn;
    }catch (PDOException $exception){
        exit($exception->getMessage());
    }
}