当前位置:首页数据库 > 正文

Fatal error: Uncaught mysqli_sql_exception: Incorrect string value: '\xF0\x9F\x8F\xA2 \xE5...' for column 'content' at row 1 in

作者:野牛程序员:2025-05-06 14:02:30数据库阅读 1993
Fatal error: Uncaught mysqli_sql_exception: Incorrect string value: '\xF0\x9F\x8F\xA2 \xE5...' for column 'content' at row 1 in

该错误提示:

Fatal error: Uncaught mysqli_sql_exception: Incorrect string value: '\xF0\x9F\x8F\xA2 \xE5...' for column 'content' at row 1

说明尝试将包含 特殊字符(如 emoji 或某些非英文字符) 的内容插入数据库时失败,原因通常是数据库表或字段的字符集未设置为支持这些字符。

解决方案如下:

1. 确保数据库、数据表、字段的字符集为 utf8mb4

-- 修改数据库字符集
ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
-- 修改数据表字符集
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 修改字段字符集
ALTER TABLE your_table_name MODIFY content TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

2. PHP连接MySQL时设置字符集为 utf8mb4:

$mysqli = new mysqli("host", "user", "password", "database");
$mysqli->set_charset("utf8mb4");

⚠️ 注意:

  • utf8 在 MySQL 中并不是真正的完整 UTF-8,只支持最多 3 个字节,不支持 emoji 等字符。

  • utf8mb4 是完整的 UTF-8 编码,能支持 emoji 和多语言字符。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • Fatal error: Uncaught mysqli_sql_exception: Incorrect string value: '\xF0\x9F\x8F\xA2 \xE5...' for column 'content' at row 1 in
  • 相关推荐

    最新推荐

    热门点击