首页 > 数据库 >SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F...' for column &#

SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F...' for column &#

时间:2024-09-23 09:02:52浏览次数:5  
标签:Incorrect ... 编码 string utf8mb4 数据库 content SQL

错误信息 SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xF0\x9F...' for column 'content' at row 1 表示在插入数据时,content 字段的内容包含了一些不支持的特殊字符(如表情符号),导致插入失败。这是因为 MySQL 的 utf8 编码不支持某些四字节的 Unicode 字符,而 utf8mb4 编码则支持所有 Unicode 字符。

解决方法

步骤 1:修改数据库配置文件

  1. 打开数据库配置文件: 打开 application/database.php 文件。

  2. 修改数据库编码: 将数据库配置文件中的编码设置为 utf8mb4

    php   return [ // ... 'charset' => 'utf8mb4', // 修改这里 // ... ];

步骤 2:执行 SQL 语句修改表结构

  1. 登录 MySQL 数据库: 使用命令行工具登录 MySQL 数据库。

    sh   mysql -u your_username -p
  2. 选择数据库: 选择对应的数据库。

    sql   USE your_database_name;
  3. 修改表结构: 执行 SQL 语句,将 content 字段的编码改为 utf8mb4

    sql   ALTER TABLE your_table_name MODIFY COLUMN content TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

    如果有多个表需要修改,可以逐一执行上述命令。

步骤 3:使用工具执行 SQL 脚本

如果您不熟悉 SQL 语句,可以使用工具来执行 SQL 脚本。具体步骤如下:

  1. 下载并解压 SQL 脚本: 下载并解压提供的 SQL 压缩包。

  2. 执行 SQL 脚本: 在易优 CMS 的插件中执行 SQL 脚本。

    • 进入易优 CMS 后台。
    • 找到并打开「易优系统助手」插件。
    • 在插件中上传并执行解压后的 SQL 脚本文件。

标签:Incorrect,...,编码,string,utf8mb4,数据库,content,SQL
From: https://www.cnblogs.com/hwrex/p/18426286

相关文章