Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 一般错误:1366不正确的字符串值:'\xF0\x9F\x8D\xB8';_Php_Mysql_Sql_Pdo_Utf8mb4 - Fatal编程技术网

Php 一般错误:1366不正确的字符串值:'\xF0\x9F\x8D\xB8';

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很好

当用户发送包含表情符号的消息时(确切地说,当消息存储在MySql数据库中时),会出现以下错误:

PDOException:SQLSTATE[HY000]:一般错误:1366错误字符串 值:'\xF0\x9F\x8D\xB8!…'对于中第1行的“消息”列

我已经检查了以下问题:

前面的所有问题都给出了相同的答案:将表更改为
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