Php 一般错误:1366不正确的字符串值:'\xF0\x9F\x8D\xB8';
当用户发送包含表情符号的消息时(确切地说,当消息存储在MySql数据库中时),会出现以下错误: PDOException:SQLSTATE[HY000]:一般错误:1366错误字符串 值:'\xF0\x9F\x8D\xB8!…'对于中第1行的“消息”列 我已经检查了以下问题:Php 一般错误:1366不正确的字符串值:'\xF0\x9F\x8D\xB8';,php,mysql,sql,pdo,utf8mb4,Php,Mysql,Sql,Pdo,Utf8mb4,当用户发送包含表情符号的消息时(确切地说,当消息存储在MySql数据库中时),会出现以下错误: PDOException:SQLSTATE[HY000]:一般错误:1366错误字符串 值:'\xF0\x9F\x8D\xB8!…'对于中第1行的“消息”列 我已经检查了以下问题: 前面的所有问题都给出了相同的答案:将表更改为 utf8mb4排版。这就是我所做的:我将表和相关列更改为utf8mb4\u unicode\u ci 但问题仍然存在。有什么想法吗?将列和表设置为utf8mb4很好
utf8mb4
排版。这就是我所做的:我将表和相关列更改为utf8mb4\u unicode\u ci
但问题仍然存在。有什么想法吗?将列和表设置为utf8mb4很好,但是需要其他设置才能顺利工作: PDO连接:
$dsn = 'mysql:host=my_ip;dbname=my_db;charset=utf8mb4';
连接后和运行查询前要运行的SQL顺序:
$conn->exec("set names utf8mb4");
将列和表设置为utf8mb4是可以的,但是需要其他设置才能顺利工作: PDO连接:
$dsn = 'mysql:host=my_ip;dbname=my_db;charset=utf8mb4';
连接后和运行查询前要运行的SQL顺序:
$conn->exec("set names utf8mb4");
当您打开与数据库的连接时,是否有可能运行类似于
SET NAMES utf8
的操作?如果是这样,请将其更改为SET NAMES utf8mb4
当您打开与db的连接时,是否有可能运行类似SET NAMES utf8
的操作?如果是,请将其更改为设置名称utf8mb4